你好我想在一个按钮上执行5次以上的clcik,直到我收到消息,但我不想以传统的方式做到有角度形状JS
driver.findElement (By.linkText ("Examples")). click ();
driver.findElement (By.xpath ("// button [@ type = 'button']")). click ();
driver.findElement (By.xpath ("// button [@ type = 'button']")). click ();
driver.findElement (By.xpath ("// button [@ type = 'button']")). click ();
driver.findElement (By.xpath ("// button [@ type = 'button']")). click ();
driver.findElement (By.xpath ("// button [@ type = 'button']")). click ();
driver.findElement (By.xpath ("// h1 [2]"));
答案 0 :(得分:0)
你可以这样做。
driver.findElement (By.linkText ("Examples")). click ();
while(true){
driver.findElement (By.xpath ("// button [@ type = 'button']")). click ();
int count= driver.findElements (By.xpath ("// h1 [2]")).size();
if(count>0){
break;
}
}
代码说明: while循环将始终继续。在每次迭代中,我们点击按钮并检查h1元素是否可用。如果找到该元素,则循环将终止。 为了检查元素状态,我们使用了driver.findelments方法,这将返回web元素列表,我们正在计算。
试试这段代码,让我知道结果。
答案 1 :(得分:0)
以前的解决方案和此应用
WebElement buton = element(By.xpath("//button[@type='button']"));
boolean isPresent =
isElementVisible(By.xpath("/html/body/div[3]/div/div[1]/h1"));
for (int i = 1; i > 0; ++i) {
buton.click();
System.out.println("Mensaje");
if (isPresent == true) {
System.out.println("Mensaje ");
break;
}
isPresent = isElementVisible(By.xpath("/html/body/div[3]/div/div[1]/h1"));
}
}
答案 2 :(得分:0)
试试这个:
driver.findElement(By.linkText("Examples")).click();
while(true)
{
driver.findElement(By.xpath("// button[@type='button']")).click();
Assert.assertTrue(driver.findElement(By.xpath("// h1[2]")).isDisplayed(),"Message is not displayed");
}