一个关于Selenium元素定位多个元素的问题

在定位一个明细表(由很多tr td 元素组成)的时候,由于需要定位所有的行中某一个td,这个td都有共同元素和相同的值。

通过xpath直接定位"//tr/td[@title='xxxx']"时候,不能查找到元素。

查找原因,尝试了几个小时,不得其果。

最后在前面添加一行通过xpath直接定位"//tr/td[@title='xxxx']"的单行元素的获取元素(打印出来是第一行的元素)后,下面

通过xpath直接定位"//tr/td[@title='xxxx']"时候,获取多行元素成功。

暂时不知道其原因。故记录一下,以便以后分析使用。

如下代码,注意获取元素为调方法

WebElement e = getElement(driver, "xpath", "//tr/td[@title='xxxx']");// 这句必须要,没有这句下面for中获取不到元素
System.out.println(e.getAttribute("id"));

for (WebElement ele : getElements(driver, "xpath", "//tr/td[@title='xxxx']")) {
System.out.println(ele.getAttribute("id"))

if (ele.getAttribute("id").contains("xxxx")) {

getElement(driver, "id", ele.getAttribute("id")).click();
break;
}
}

猜你喜欢

转载自www.cnblogs.com/dengw125792/p/12118373.html