我正在写一个自动化测试一个网页,其中用户基于其存在硒网络驱动程序的if-else条件两个按钮
我使用硒的webdriver有一个按钮点击之间进行选择爪哇 方案 1.只有一个按钮可以存在于时间(button1
或button2
) 2.如果button1
存在时,在该 3.如果button2
用户点击存在时,在该
代码用户的点击次数:
if(driver.findElement(By.xpath("//*[@id='product_container_1']/div[2]/div[2]/div[3]/div[2]/div/a/div")).isDisplayed()) {
//clicking on button1 if its presemt
WebElement clickBtn1 = driver.findElement(By.xpath("//*[@id='product_container_1']/div[2]/div[2]/div[3]/div[2]/div/a/div"));
clickBtn1.click();
}
else if(driver.findElement(By.xpath("//*[@id='product_container_1']/div[2]/div[2]/div[3]/div[3]/div[2]/div")).isDisplayed()){
//Clicking on button2 if its present
WebElement clickBtn2 = driver.findElement(By.xpath("//*[@id='product_container_1']/div[2]/div[2]/div[3]/div[3]/div[2]/div"));
clickBtn2.click();
}
else
{
System.out.println("No such button found");
}
上面的代码片段不起作用。有人可以帮助纠正它。
注:如果我删除的if-else条件和运行分别为每个按钮的功能它的工作原理
感谢,
什么不起作用?它是否说“没有找到这样的按钮”? – nCessity
是的。它会抛出错误“org.openqa.selenium.NoSuchElementException:no such element:”如果我为两个按钮单独运行代码而没有其他条件,它会起作用 – Harshini
这些xpath表达式非常长。你能证实他们工作吗?你可以通过添加一个id到按钮来简化它们吗? – nCessity