使用Python中的Selenium点击图像时抛出无效的xpath

2024-06-17 18:11:10 发布

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

这就是我所拥有的

for arrow in self.driver.find_elements_by_xpath("//img[contains(@src, 'disclosure_closed.gif')]/"):
            arrow.click()

但它把这个扔给我了

^{pr2}$

我也试过这样做:

image_url = "http://example.com/disclosure_closed.gif"
for arrow in self.driver.find_elements_by_xpath("//img[@src='%s']/" %(image_url)):
    arrow.click()

这是html:

<img align="top" style="cursor:pointer;" onclick="disclose('44');" id="44disclosure" src="http://example.com/disclosure_closed.gif">

Tags: inselfsrcimgforbydriverelements
2条回答

删除xpath末尾的/。在

看来你已经得到答案了。但您不需要为该标识符使用xpath。xpath比css慢,而且(通常)也不那么可靠。您可以使用以下css选择器来标识同一个元素:

[src*='disclosure_closed.gif']

或者(特别是图像)

^{pr2}$

相关问题 更多 >