使用selenium python单击具有相同href值的链接

使用selenium python单击具有相同href值的链接,python,html,selenium,selenium-webdriver,Python,Html,Selenium,Selenium Webdriver,我有一个html代码,它有两个链接,但是两个链接都有相同的href值,但是onclick和文本是不同的。 我不确定如何访问第二个链接。 我尝试使用driver.find_element_by_link_text('text'),但我得到了一个未找到此类元素的错误 <div id="member"> <"a href="#" onclick="add_member("abc"); return false;">run abc<"/a> <

我有一个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>



有多个选项可以获得所需的链接

一个选项是使用并检查
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内容。希望两个建议的解决方案中至少有一个能解决这个问题。

说这不是一个有效的xpath如果我使用第二个选项,我会得到“元素不可见异常”@esua你能分享到该网站的链接,以便我重现这个问题吗?谢谢