元素定位教学 · XPath 定位

系统学习 By.XPATH 的核心语法、实操示例与最佳实践

首页 定位导航

By.XPATH 定位导读

By.XPATH 是 Selenium 元素定位的重要方式,通过元素的相关属性或特征进行精准定位。本页面提供完整的语法说明、代码示例和可交互的实操练习区域。

By.XPATH 快速入门
掌握核心语法与定位策略
语法示例
find_element / find_elements 用法
实操练习
交互式练习区实时反馈
By.XPATH

⑦ XPath 定位

XML 路径语言,支持路径/属性/文本/轴等复杂定位
XPath 定位语法:
单个元素 (find_element)
driver.find_element(By.XPATH, "/html/body/div[1]/header/h1")(绝对路径(从根节点开始))
driver.find_element(By.XPATH, "//input[2]")(元素索引,从 1 开始)
driver.find_element(By.XPATH, "//input[@id='userName']")(属性)
driver.find_element(By.XPATH, "//input[starts-with(@type,'pass')]") (模糊属性值)
driver.find_element(By.XPATH, "//div[contains(@class,'demo')]")(模糊属性值,包含属性匹配)
driver.find_element(By.XPATH, "//button[normalize-space()='提交表单']")(文本精确匹配)
driver.find_element(By.XPATH, "//div[@class='form-grid']/div[last()]")(函数条件匹配)
driver.find_element(By.XPATH, "//*[@name='email' and @type='text']")(逻辑运算符,多属性组合)
driver.find_element(By.XPATH, "//form[@id='xpathForm']/following-sibling::div/button")(轴定位)
多个元素 (find_elements)
driver.find_elements(By.XPATH, "/html/body/div[1]/header/h1")(绝对路径(从根节点开始))
driver.find_elements(By.XPATH, "//input[2]")(元素索引,从 1 开始)
driver.find_elements(By.XPATH, "//input[@id='userName']")(属性)
driver.find_elements(By.XPATH, "//input[starts-with(@type,'pass')]") (模糊属性值)
driver.find_elements(By.XPATH, "//div[contains(@class,'demo')]")(模糊属性值,包含属性匹配)
driver.find_elements(By.XPATH, "//button[normalize-space()='提交表单']")(文本精确匹配)
driver.find_elements(By.XPATH, "//div[@class='form-grid']/div[last()]")(函数条件匹配)
driver.find_elements(By.XPATH, "//*[@name='email' and @type='text']")(逻辑运算符,多属性组合)
driver.find_elements(By.XPATH, "//form[@id='xpathForm']/following-sibling::div/button")(轴定位)
特点:功能最强大,支持路径/属性/文本/轴等复杂定位,但语法较复杂、不同浏览器可能略有差异。
实操练习:By.XPATH → 查看 Selenium 代码与执行结果
练习表单:form#demoXpathForm(仅用于 loc-practice-area)