如何使用selenium和python处理动态变化的值?

2024-06-10 04:25:21 发布

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

下面是HTML的功能。如果我单击下面的“使用XPATH”,它工作得很好。但数据qtip值不断变化,而且在HTML中还有其他与上面相同名称的类

如何单击显示的值@data-qtip

HTML

<a href="javascript:void(0)">    
<span class="item-context-link" data-qtip="3711672330">3711672330</span>    
</a>

代码

driver.find_element_by_xpath("//span[contains(@data-qtip, '3711672330')]").click()

Tags: 数据功能名称datahtmlcontextlinkjavascript
2条回答

DOM中,如果data-qtip是唯一属性,则可以使用下面的xPath

xPath

//span[@data-qtip]

代码

driver.find_element_by_xpath("//span[@data-qtip]").click()

基于OP响应,有9 data-qtip,由于缺少HTML,我将使用xpath索引为您提供解决方案。

(//span[@data-qtip])[1]

应该表示first 1 element[2]应该表示第二个元素

(//span[@data-qtip])[2]

等等

PS:请在dev tools(谷歌浏览器)中检查我们是否在HTML DOM中有唯一的条目

检查步骤:

Press F12 in Chrome->;转到element部分->;做一个{}->;然后粘贴xpath并查看所需的element是否通过1/1匹配节点突出显示

您可以尝试增加索引,以便在HTMLDOM中有一个唯一匹配节点

代码试用版1:

time.sleep(5)
driver.find_element_by_xpath("(//span[@data-qtip])[1]").click() 

相关问题 更多 >