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

Posted 工设091

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个关于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;
}
}

以上是关于一个关于Selenium元素定位多个元素的问题的主要内容,如果未能解决你的问题,请参考以下文章

selenium+Python页面元素定位问题

关于Python+selenium 定位浏览器弹窗元素

selenium 如何缩小范围后在定位元素比如缩小到某一个div,在定位

如何使用 Selenium 和 Python 定位具有多个类名的元素

selenium webdriver怎么定位td里面的元素

selenium IDE 如何定位页面变动元素