duh*_*ime 5 python selenium xpath webdriver
我试图单击包含链接文本“查看此文本中的所有命中”的网页上的所有链接。下面是网页上的一些 html 的样子:
<a href="/searchCom.do?offset=24981670&entry=4&entries=112&area=Poetry&forward=textsCom&queryId=../session/1380145118_2069"><b>View all hits in this text</b>
<br>
</a>
[...]
<a href="/searchCom.do?offset=25280103&entry=5&entries=112&area=Poetry&forward=textsCom&queryId=../session/1380145118_2069"><b>View all hits in this text</b>
<br>
</a>
Run Code Online (Sandbox Code Playgroud)
如果页面上只有一个这样的链接,我知道我可以使用以下内容单击它:
driver.find_element_by_link_text('View all hits in this text').click()
Run Code Online (Sandbox Code Playgroud)
不幸的是,这种方法只能识别并点击网页上带有链接文本“查看此文本中的所有命中”的第一个链接。因此,我想问:有没有一种方法可以用来单击此页面上带有链接文本“查看此文本中的所有命中”的第二个(或第 n 个)链接?我有一种感觉,我可能需要使用 xpath,但我还没有完全弄清楚应该如何在我的脚本中实现 xpath。如果其他人可以借出任何建议,我将不胜感激。
有find_elements_by_link_text()(文档):
links = driver.find_elements_by_link_text('View all hits in this text')
for link in links:
link.click()
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用 xpath 获取具有指定文本的所有链接:
links = driver.find_elements_by_xpath("//a[text() = 'View all hits in this text']")
for link in links:
link.click()
Run Code Online (Sandbox Code Playgroud)
希望有帮助。
| 归档时间: |
|
| 查看次数: |
4805 次 |
| 最近记录: |