我有一个html代码,它有两个链接,但两个链接都有相同的href值,但是onclick和文本是不同的。 我不确定如何访问第二个链接。 我尝试使用driver.find_element_by_link_text(' text'),但是我发现没有找到这样的元素错误。
<div id="member">
<"a href="#" onclick="add_member("abc"); return false;">run abc<"/a>
<br>
<"a href="#" onclick="add_member("def"); return false;">run def<"/a>
</div>
答案 0 :(得分:1)
有多种方法可以获得所需的链接。
一种选择是使用find_element_by_xpath()
并检查onclick
属性值:
link = driver.find_element_by_xpath('//div[@id="member"]/a[contains(@onclick, "add_member(\"def\")")]')
link.click()
另一个是简单地找到两个链接并通过索引获得所需的链接:
div = driver.find_element_by_id('member')
links = div.find_elements_by_tag_name('a')
links[1].click()
选择哪个选项取决于整个HTML内容。希望至少有两个建议的解决方案能解决这个问题。