Mar*_*ler 2 python selenium selenium-webdriver
在运行 Chrome 驱动程序(作为脚本和来自 python REPL)的 Windows 10 上使用 Python 2.7 的 Selenium 无法通过部分链接文本找到元素,我不知道为什么。当我查看有问题的网页的源代码时,整个页面中只有一个实例WO20,并且它在一个链接中,但是 selenium 返回no such element.
这是一个示例(WO20紧跟在 之后href):
<a id="resultTable:0:resultListTableColumnLink" name="resultTable:0:resultListTableColumnLink" href="detail.jsf?docId=WO2015102036&recNum=1&office=&queryString=FP%3A%28JP2014005719%29&prevFilter=&sortOption=Pub+Date+Desc&maxRec=3" target="_self"><span class="notranslate"> WO/2015/102036</span></a>
Run Code Online (Sandbox Code Playgroud)
该页面还有一些其他链接,但我需要的是唯一一个带有字符组合的链接WO20,因此理论上这应该很容易识别。我的猜测是 selenium 没有将其识别为链接,这就是为什么partial_link_text不起作用。我已经尝试使用xpath(成功),但问题是它返回表中的第 n 个链接,而我需要的链接(我正在处理多个文档)不在固定位置。
实际上,没有包含WO20! 我认为您将链接文本与元素href属性混淆了<a>。您可以使用以下代码通过链接文本/部分链接文本找到目标元素:
driver.find_element_by_link_text('WO/2015/102036')
Run Code Online (Sandbox Code Playgroud)
或者
driver.find_element_by_partial_link_text('WO/20')
Run Code Online (Sandbox Code Playgroud)
这也XPaths应该适用:
driver.find_element_by_xpath('//a[contains(@href, "WO20")]')
driver.find_element_by_xpath('//a[contains(text(), "WO/20")]')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11414 次 |
| 最近记录: |