如何使用selenium python通过href值查找元素?

use*_*509 8 python selenium

我有一个只有href值作为属性的锚标记的href值.现在我想在页面中找到与href值具有相同值的元素并单击它.我无法使用标准的硒方法找到任何方法.我怎么能这样做?基本上这些是我找到的功能,但似乎我不能使用以下任何一个:

find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
Run Code Online (Sandbox Code Playgroud)

Dmy*_*kyi 29

您可以使用find_element_by_xpath功能.

driver.find_element_by_xpath('//a[@href="'+url+'"]')
Run Code Online (Sandbox Code Playgroud)

  • 请记住,如果您有多个具有相同 URL 的链接,则可能会返回一个数组 (3认同)
  • 如果我的网址在一个变量中怎么办? (2认同)

rne*_*ius 7

您可以通过 CSS 选择器找到该元素,就像使用普通 CSS 一样:

link = driver.find_element_by_css_selector('[href^=http://somelink.com/]')
Run Code Online (Sandbox Code Playgroud)

You can also find the element by the link text:

link = driver.find_element_by_partial_link_text('somelink')
Run Code Online (Sandbox Code Playgroud)


小智 7

你可以试试这个:

driver.find_element_by_xpath('//a[contains(@href,"href")]')
Run Code Online (Sandbox Code Playgroud)