如何使用SeleniumWebDriver和java从Webtable中定位元素

如何使用SeleniumWebDriver和java从Webtable中定位元素,java,selenium,xpath,Java,Selenium,Xpath,我试图从表中找到一个元素,我使用下面的代码 String part1="html/body/div[1]/div/div[2]/div[1]/div/div/div[3]/div[1]/table/tbody/tr[8]/td/div/div/div/table/tbody[1]/tr["; String part2="]/td[1]"; int i=1; System.out.println(isElementPresent(part1+i+part2)); while(isElementPr

我试图从表中找到一个元素,我使用下面的代码

String part1="html/body/div[1]/div/div[2]/div[1]/div/div/div[3]/div[1]/table/tbody/tr[8]/td/div/div/div/table/tbody[1]/tr[";
String part2="]/td[1]";
int i=1;
System.out.println(isElementPresent(part1+i+part2));
while(isElementPresent(part1+i+part2)){
String groupName = driver.findElement(By.xpath(full)).getText();
System.out.println(groupName);
如果表包含多个元素,则此代码可以完美地工作,但如果表只包含一个元素,则无法像xpath那样工作

String full="html/body/div[1]/div/div[2]/div[1]/div/div/div[3]/div[1]/table/tbody/tr[4]/td/div/div/div/table/tbody[1]/tr/td[1]";

有解决方法吗?

您应该尝试使用相对路径而不是绝对路径访问元素。
如果您的表具有id,则可以使用:

driver.findElement(By.id("<your_id"));
driver.findElement(按.id(“
driver.findElement(By.cssSelector(".<your_class"));