我是selenium中xpaths的新手,并尝试点击Next>下面代码中的图像/按钮。我试过跟随两个xpath但它没有工作并且没有给出找不到元素的错误。
By.xpath("//div[@class='pzbtn-mid']/img[contains(text(), \"Next >\")]"))
By.xpath("//div[@class='pzbtn-mid']/img[contains(text(), 'Next >')]"))
我在这里做错了什么?
<div class="pzbtn-mid" data-bindprops="innerHTML" data-click="...."> ==$0
<img src="webwb/zblankimage.gif" alt="" class="pzbtn-i">
"Next >"
<img alt="" src="webwb/zblankimage.gif" class="pzbtn-i">
答案 0 :(得分:0)
根据您在下一页&gt; 图片/按钮上与click()
分享的 HTML ,您可以使用以下xpath
:
By.xpath("//div[@class='pzbtn-mid']/img[@class='pzbtn-i' and @src='webwb/zblankimage.gif']"))
注意:文本下一步&gt; 不在<img>
标记内,而是在<div>
标记内。因此,要点击图像/按钮,您必须到达<img>
标记。
答案 1 :(得分:0)
您也可以使用下面的xpath,
By.xpath("//div[contains(@class,'pzbtn-mid') and contains(.,'Next >')]//img")
如果img属于next,则单击第一个图像。其他你应该点击下面的第二个img;
driver.findElementsBy((By.xpath("above xpath")).get(1));