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

时间:2015-03-06 11:22:51

标签: 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(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]";

有解决方法吗?

1 个答案:

答案 0 :(得分:0)

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

driver.findElement(By.id("<your_id"));

或类名:

driver.findElement(By.cssSelector(".<your_class"));

如果您想使用xpath,请查看selenuim documentation

希望有所帮助。