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

时间:2015-10-15 18:02:56

标签: 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

4 个答案:

答案 0 :(得分:23)

您可以使用find_element_by_xpath功能。

driver.find_element_by_xpath('//a[@href="'+url+'"]')

答案 1 :(得分:0)

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

link = driver.find_element_by_css_selector('[href^=http://somelink.com/]')

您还可以find the element by the link text

link = driver.find_element_by_partial_link_text('somelink')

答案 2 :(得分:0)

我有一个名为“您的个人资料”的html行

<a href="/registration/profile.html" rel="follow">Your Profile</a>

到目前为止,我一直在尝试一切,find_element_by链接,xpath,css选择器没有运气。返回错误,找不到元素。

browser.find_element_by_partial_link_text("Your Profile")

browser.find_element_by_xpath('//a[contains(@href,"registration/profile.html")]')

谢谢

答案 3 :(得分:-1)

您可以尝试以下方法:

driver.find_element_by_xpath('//a[contains(@href,"href")]')