使用Selenium Python点击具有相同href值的链接

0 投票
1 回答
2938 浏览
提问于 2025-04-20 23:06

我有一段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内容。希望这两种建议的解决方案中至少有一种能解决你的问题。

撰写回答