如何使用 selenium 中的 xpath 在轮播中定位图像?

how to locate images in a carousel using xpath in selenium?

如何在网页的轮播中定位图片?

例如,在 www.Amazon.com 中,我如何定位图像 "Amazon FireTV"? 我尝试使用 firebug 和 firepath 来获取它的 xpath。这是生成的代码

.//*[@id='image-map-ns_0ZQX7SFF6V0EPC565G2P_12436_']/div/div/map/area

我知道该元素是动态的。我尝试使用 'contains' 关键字,但仍然找不到该元素。这是我试过的 xpath

.//*[@id='image-map-ns_0ZQX7SFF6V0EPC565G2P_12436_']/div/div/map/area[contains(@alt, 'Amazon Devices')]

重现我正在做的场景的步骤

  1. 转到www.amazon.com

  2. 在旋转木马上单击第 5 个项目符号(这显示了 Amazon FireTV 的图像)

  3. 使用 Firebug 和 Firepath

  4. 定位元素

On the carousel click the 5th bullet

在旋转木马上点击第 5 个项目符号(当前显示 Fire HD 儿童版)

$x("//a[contains(@class,'herotator-goToPage-5')]");

locate the element

select 使用 alt 属性的图像 Fire HD 儿童版

//div[@class='cropped-image-map-center-alignment']/map/area[contains(@alt,'Fire HD Kids Edition')]

我在浏览器控制台中测试了 xpath 它工作正常的快捷方式 $x("xpath")

希望这对您有所帮助...如果您遇到任何问题,请回来