如何在 Selenium 中点击其 href 中包含指定子字符串的链接?


我们可以在 Selenium webdriver 中点击其 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")
# implicit wait for 5 seconds
driver.implicitly_wait(5)
# maximize with maximize_window()
driver.maximize_window()
driver.get("https://tutorialspoint.com/codingground.htm")
# identify element with partial link text and click()
l=driver.find_element_by_partial_link_text("Net")
l.click()
print("Page title after click on substring link name:" + driver.title)
driver.quit()

示例

带 href 属性的代码实现。

from selenium import webdriver
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
# implicit wait for 5 seconds
driver.implicitly_wait(5)
# maximize with maximize_window()
driver.maximize_window()
driver.get("https://tutorialspoint.com/codingground.htm")
# identify element with href attribute and click()
l= find_element_by_css_selector("a[href*"='net'] ")
l.click()
print("Page title after click on substring link name:" + driver.title)
driver.quit()

输出

更新于:28-8-2020

2000+ 浏览

开始你的 职业

通过完成课程获得认证

开始
广告