当我运行此代码时,编译器会抛出运行时异常,
String ExistUser = driver.findElement(By.xpath(".//*@id='**UserBody']/tr[j]**/td[1]")).getText();
当我将j更改为1时,我得到了输出
String ExistUser = driver.findElement(By.xpath(".//*@id=**'UserBody']/tr[1]**/td[1]")).getText();
但我不明白为什么会发生这种情况,任何人都可以帮助我。
if (driver.findElements(By.xpath(".//*[@id='UserBody']/tr[1]/td[1]") ).size()!= 0)
{
int j;
for (j=1 ; j< 10; j++)
{
String ExistUser = driver.findElement(By.xpath(".//*@id='UserBody']/tr[j]/td[1]")).getText();
//String value = ExistUser.getAttribute("value");
System.out.println(ExistUser);
}
}
最佳答案
使用以下代码:
if (driver.findElements(By.xpath(".//*[@id='UserBody']/tr[1]/td[1]") ).size()!= 0)
{
int j;
for (j=1 ; j< 10; j++)
{
String ExistUser = driver.findElement(By.xpath(".//*[@id='UserBody']/tr["+j+"]/td[1]")).getText();
//String value = ExistUser.getAttribute("value");
System.out.println(ExistUser);
}
}
每当您要提及变量时,也需要放置“ +”符号。
和
并删除“。”在XPATH之前,我认为这不是一个好习惯。