使用Selenium Python点击具有相同href值的链接
我有一段HTML代码,其中有两个链接,但这两个链接的地址(href)是一样的,不过它们的点击事件和显示的文字不同。我不太确定怎么去访问第二个链接。我尝试用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>
1 个回答
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内容。希望这两种建议的解决方案中至少有一种能解决你的问题。