如何在 Selenium 中点击 href 包含特定子字符串的链接?
seleniumautomation testingtesting tools更新于 2026/2/12 10:22:17
我们可以在 Selenium Web 驱动程序中点击 href 包含特定子字符串的链接。有多种方法可以执行此操作。我们可以使用 find_element_by_partial_link_text()方法来点击包含子字符串的链接。
find_element_by_partial_link_text() 方法用于通过与方法参数中指定的锚标记内的文本进行部分匹配来识别元素。如果没有匹配的文本,则会抛出 NoSuchElementException。
语法 −
find_element_by_partial_link_text("Tutors")
我们也可以使用 CSS 选择器通过 * 符号来识别 href 包含子字符串的元素。这称为通配符表示法,表示字符串包含某个子字符串。
语法 −
find_element_by_css_selector("a[href*"='tutor'] ")

让我们尝试使用子字符串概念来识别上述 HTML 代码中的 Net Meeting 链接。
示例
使用 find_element_by_partial_link_text() 实现代码。
from selenium import webdriver
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
# 隐式等待 5 秒
driver.implicitly_wait(5)
# 使用 maximize_window() 实现最大化
driver.maximize_window()
driver.get("https://www.tutorialspoint.com/codingground.htm")
# 识别包含部分链接文本的元素并执行 click()
l=driver.find_element_by_partial_link_text("Net")
l.click()
print("点击子字符串链接名称后的页面标题:" + driver.title)
driver.quit()
示例
使用 href 属性的代码实现。
from selenium import webdriver
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
# 隐式等待 5 秒
driver.implicitly_wait(5)
# 最大化使用 maximize_window()
driver.maximize_window()
driver.get("https://www.tutorialspoint.com/codingground.htm")
# 使用 href 属性识别元素并单击 ()
l= find_element_by_css_selector("a[href*"='net'] ")
l.click()
print("Page title after click on substring link name:" + driver.title)
driver.quit()
输出


