Selenium/python-找不到部分链接tex

2024-05-23 20:07:24 发布

您现在位置:Python中文网/ 问答频道 /正文

运行Chrome驱动程序(作为脚本和Python REPL)的Windows 10上的Python 2.7的Selenium无法通过部分链接文本找到元素,我不确定原因。当我查看相关网页的源代码时,整个页面中只有一个WO20实例,它位于链接中,但是selenium返回no such element

下面是一个例子(紧跟在href之后的WO20):

<a id="resultTable:0:resultListTableColumnLink" name="resultTable:0:resultListTableColumnLink" href="detail.jsf?docId=WO2015102036&amp;recNum=1&amp;office=&amp;queryString=FP%3A%28JP2014005719%29&amp;prevFilter=&amp;sortOption=Pub+Date+Desc&amp;maxRec=3" target="_self"><span class="notranslate"> WO/2015/102036</span></a>

这个页面还有一些其他链接,但我需要的是唯一一个字符组合为WO20的链接,所以理论上这应该很容易识别。我的猜测是selenium没有认识到这是一个链接,这就是为什么partial_link_text不起作用的原因。我试过使用xpath(成功),但问题是返回表中的第n个链接,并且我需要的链接(我正在处理多个文档)不在固定位置。


Tags: 脚本链接windowsselenium驱动程序原因页面chrome
1条回答
网友
1楼 · 发布于 2024-05-23 20:07:24

实际上,没有包含WO20的链接文本!我认为您将链接文本与<a>元素的href属性混淆了。可以使用以下代码通过链接文本/部分链接文本查找目标元素:

driver.find_element_by_link_text('WO/2015/102036')

或者

driver.find_element_by_partial_link_text('WO/20')

这个XPaths也应该适用于:

driver.find_element_by_xpath('//a[contains(@href, "WO20")]')
driver.find_element_by_xpath('//a[contains(text(), "WO/20")]')

相关问题 更多 >