Skip to content

selenium_webdriver_commands

命令指示 Selenium WebDriver 在浏览器或网页元素上执行什么操作。WebDriver 命令可以 broadly 分类为:

  • 浏览器命令 (Browser Commands): 管理浏览器窗口本身(导航、最大化、关闭)。
  • 元素交互命令 (Element Interaction Commands): 对网页元素执行操作(点击、输入文本、清除)。
  • 信息命令 (Information Commands / Getters): 检索有关元素或浏览器的信息(获取文本、获取属性、获取标题)。
  • 等待命令 (Wait Commands): 暂停执行直到满足特定条件(显式等待 Explicit Waits,隐式等待 Implicit Waits - 请谨慎使用)。

要与元素交互,WebDriver 首先需要在网页上找到它。这是通过各种“定位策略”(Locator Strategies)完成的。您可以使用浏览器的内置开发者工具(通常按 F12 打开)检查元素并测试定位器。

常见的定位策略包括:

  • 通过 ID (By ID): By.id("elementId") - 使用其唯一的 id 属性定位元素。通常是最快、最可靠的策略。
  • 通过 Name (By Name): By.name("elementName") - 使用其 name 属性定位元素。对于表单元素很有用。
  • 通过 Class Name (By Class Name): By.className("elementClassName") - 使用其 class 属性定位元素。注意:如果存在多个类,只使用其中一个。
  • 通过 Tag Name (By Tag Name): By.tagName("htmlTagName") - 根据其 HTML 标签(例如 <a>, <div>, <table>)定位元素。通常返回多个元素。
  • 通过 Link Text (By Link Text): By.linkText("Exact Link Text") - 根据精确的可见文本定位链接 (<a>) 元素。
  • 通过 Partial Link Text (By Partial Link Text): By.partialLinkText("Partial Text") - 根据可见文本的部分匹配定位链接 (<a>) 元素。
  • 通过 CSS Selector (By CSS Selector): By.cssSelector("cssSelectorSyntax") - 使用 CSS 选择器模式定位元素。功能强大且广泛支持。
  • 通过 XPath (By XPath): By.xpath("xpathExpression") - 使用 XPath 表达式定位元素。对于复杂的 DOM 遍历功能强大,但如果编写不当,可能比 CSS 选择器更慢且更脆弱。

选择正确的定位器对于稳定测试至关重要。优先使用唯一的 ID、Name 或结构良好的 CSS 选择器,而不是复杂的 XPath 或仅依赖于可见文本。