在定位一個明細表(由很多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;
}
}