【发布时间】:2021-11-17 22:14:29
【问题描述】:
我在网页上有一个表格,它的 xpath 有时会有所不同,但它的类名没有。所以我可以通过它的类名来处理它,但是我的代码需要那个元素的 xpath 那么如何获取那个元素的 xpath? OR如何处理其xpath时时不同的元素?
String xpath = "here sould be the xpath of that element";
wait_page_loading(By.xpath(table_xpath)); //this other function in my class wait the page loading
WebElement Webtable = driver.findElement(By.xpath(table_xpath));
List<WebElement> totalRowCount = Webtable.findElements(By.xpath(table_xpath + "/tbody/tr"));
if(totalRowCount.size() <= 1) {
throw new Exception("Can't find results in the problem page");
}
return totalRowCount.get(0).findElements(By.xpath("td")).get(6).getText();
非常感谢。
【问题讨论】:
-
能否给我们看看网站的HTML代码?
-
@Kazi atcoder.jp/contests/abc205/submissions 这个页面例如是想获取里面表格的数据。我使用了 xpath,但我发现我不时会遇到错误
-
"//*[@id="main-container"]/div[1]/div[3]/div[2]/div[2]/table" 这个 xpath 应该总是那里。能否请您检查并确认?
-
@BlueFire : 您要提取哪个元素?
-
@Kazi 但有时会变成 "//*[@id="main-container"]/div[1]/div[3]/div[1]/div[2]/table " 因为在某些情况下不会显示页数,而在其他情况下,表格顶部还有另一个元素会更改其 xpath。我试图测试每个 xpath,但我试图找到比这更稳定的方法
标签: java selenium xpath webdriver