系统学习 By.PARTIAL_LINK_TEXT 的核心语法、实操示例与最佳实践
By.PARTIAL_LINK_TEXT 是 Selenium 专门用于定位 <a> 超链接标签的方式,它是 By.LINK_TEXT 的模糊版 — 通过链接可见文本中的部分子串进行匹配(等价于 CSS 的 :contains() 或 XPath 的 contains())。例如页面上有 <a>请点击此处下载最新版本 v2.3.1</a>,则 driver.find_element(By.PARTIAL_LINK_TEXT, '下载') 或 driver.find_element(By.PARTIAL_LINK_TEXT, 'v2.3') 都能定位到它。适用场景:① 链接文本较长,只想取关键片段;② 文本带动态后缀(如版本号、日期)不变的只有前缀。注意:① 只匹配 <a> 标签;② 匹配到多个链接时 find_element 返回第一个,不保证是你想要的那个;③ 太短的子串(如单个"的"、"是")会匹配到大量无关链接,建议选择足够独特的片段。
driver.find_element(By.PARTIAL_LINK_TEXT, "关于")(匹配第一个包含"关于"的链接)driver.find_element(By.PARTIAL_LINK_TEXT, "教程")(匹配第一个包含"教程"的链接)driver.find_elements(By.PARTIAL_LINK_TEXT, "帮助")(获取所有含"帮助"的链接元素)driver.find_elements(By.PARTIAL_LINK_TEXT, "文档")(获取所有含"文档"的链接元素)下方导航栏包含多个链接,使用 PARTIAL_LINK_TEXT 可模糊匹配:
教程类链接(用"教程"可匹配全部):
<a> 标签,其他标签需用 XPath 或 CSS。