如何在selenium webdriver中使用java在xpath中使用变量?

时间:2016-06-18 07:27:29

标签: java selenium xpath selenium-webdriver

如何在使用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。请帮我解决这个问题。

3 个答案:

答案 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,这是一个动态名称