我的网页中有9行6列的表格。我想搜索文本“ MakeGoodDisabled- Programwise_09_44_38_461(n)”并获取单元格的xpath。我使用了以下内容,但由于无法在页面上找到文本而失败。你能帮忙吗?我正在使用Selenium Webdriver Junit对此进行编码。
List < WebElement > links = driver.findElements(By.tagName("td")); Iterator < WebElement > itr = links.iterator(); while (itr.hasNext()) { String test = itr.next().getText(); if (test.equals("MakeGoodDisabled-Programwise_09_44_38_461(n)")) { String xpath = driver.findElement(By.name(test)).getAttribute("xpath"); System.out.println(xpath); } }
我的意图是在表中查找文本并在同一行中获取相应的下一列值。我以为我将用所需的列号替换通过获取xpath找到的列号。有没有更好的办法做到这一点
当然有办法了。这是一种可能的解决方案。
获取所有行:
While (iterate over row) While(Iterate over column) if(column.Text=='YOUR_MATCH'){ int voila=column.Index } } }
现在,您可以简单地移至其他行的特定索引;或者您可以使用xpath .../tr/td[voila]来检索该特定列的所有单元格。
.../tr/td[voila]
我已经编写了一种方法,请不要成为真实的代码!