我有3个自定义下拉菜单,当点击"向下箭头"最后附加图像,图像代码如下:
<img id="x-auto-2017" class="x-form-trigger x-form-trigger-arrow "
src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">
图片ID是动态的,按照2017,2018等的顺序排列。所以我不能使用包含并唯一地识别它们。
我希望逐个点击它们并从下拉列表中选择值。请帮助如何唯一地识别它们。
答案 0 :(得分:0)
以下代码应该适合您:
List<WebElement> elements = driver.findElements(By.xpath("//img[contains(@class,'x-form-trigger x-form-trigger-arrow']"));
System.out.println("Number of drop downs on the page: " + elements.size());
for (WebElement ele : elements) {
ele.click();
//Do what ever you want
}
答案 1 :(得分:0)
感谢您的回复,我使用了@Marcus建议的位置限定符[N],虽然必须点击并试用一下,但在Chrome控制台上编写手动xpath我得到了以下我的查询的答案。
driver.findElement(By.xpath("(//img[starts-with(@id,'x-auto-2')])[2]")).click();