如何在使用java的selenium webdriver中使用xpath中的变量?
以下是我的代码行:
for(int row =1; row<=20; row++)
{
driver.findElement(By.xpath(“//*[text()=’PickReuest’]/table/tbody/tr[+row+]/td[2]”)).click();
}
但是我收到的错误是无效的xpath。请帮我解决这个问题。
答案 0 :(得分:2)
xpath表达式字符串应该是
<
还要检查"//*[text()='PickReuest']/table/tbody/tr[" + row + "]/td[2]"
是否符合要求。
答案 1 :(得分:0)
此外,您可以使用String.format();
for(int row =1; row<=20; row++)
{
driver.findElement(By.xpath(String.format("//*[text()='PickReuest']/table/tbody/tr[%s]/td[2]", row))).click();
}
如果将x路径存储为常量,这种方式会更好。
答案 2 :(得分:0)
String newUser = "Cullen Sipes";
WebElement findthePatient = driver.findElement(
By.xpath("//div[@class='d-flex flex-column' and contains(text(),'" +newUser +"')]"
));
试图在div类中单击Cullen Sipes,这是一个动态名称