selenium_webdriver_commands
Selenium - WebDriver 命令
Section titled “Selenium - WebDriver 命令”命令指示 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 或仅依赖于可见文本。