【问题标题】:How to implement Java loop using selenium如何使用 selenium 实现 Java 循环
【发布时间】:2020-01-21 10:38:52
【问题描述】:
// to search and delete
driver.findElement(By.cssSelector("input[type='search']")).sendKeys("Diversification Rule Template"); 
driver.findElement(By.className("delete-template")).click(); 
Alert alert = driver.switchTo.alert(); 
Thread.sLeep(200); 
alert.accept(); 
String SuccessMessage = driver.findElement(By.className("toast")).getAttribute("class");
System.out.println("Message of Toast Message is: " n SuccessMessage);
Assert.assertEquals("toast toast-success", SuccessMessage);

// to search and delete
driver.findElement(By.cssSelector("input[type='search']")).clear();
Thread.sLeep(200);
driver.findElement(By.cssSelector("input(type='search']")).sendKeys("Diversification Rule Template2"); 
driver.findElement(By.className("delete-template")).click(); 
driver.switchTo().alert(); 
alert.accept(); 
String SuccessDeleteMessage = driver.findElement(By.className("toast")).getAttribute("class");
System.out.println("Message of Toast Message is: " SuccessDeleteMessage);
Assert.assertEquaLs("toast toast-success", SuccessDeleteMessage); 

// to search and delete
driver.findElement(By.cssSelector("input[type='search']")).clear();
Thread.steep(200);
driver.findElement(By.cssSelector("input[type='search']")).sendKeys("New Diversification Rule");
driver.findElement(By.className("delete.template")).click();
driver.switchTo().alert(); 
alert.accept(); 
String SuccessDeleteMessage2 = driver.findElement(By.className("toast")).getAttribute("class");
System.out.println("Message of Toast Message is: SuccessDeleteMessage2); 

我需要从系统中删除几个用户,我不想一遍又一遍地重复这个过程。因此,我想实现可以轻松完成的循环,并且遇到“元素未附加到页面文档”这样的问题。任何帮助都会很棒。

【问题讨论】:

  • 这里需要javascript标签吗?
  • 是的@evolutionxbox
  • 从您的问题中不清楚您是要询问 Java 还是 JavaScript。你能澄清一下吗?
  • @evolutionxbox 这是我想在 java 循环中使用的 java 脚本脚本警报。在这里我想删除四个用户,我不想一遍又一遍地重复我的相同代码,所以我需要使用循环。并且遇到了我需要解决的“元素未附加到页面文档”这样的问题

标签: javascript java selenium


【解决方案1】:

您可以遍历搜索条件。您确实需要每次重新定位元素以避免StaleElementReferenceException

List<String> names = new ArrayList<>() {{
    add("Diversification Rule Template");
    add("Diversification Rule Template2");
    add("New Diversification Rule");
}};

for (String name: names) {
    WebElement searchField = driver.findElement(By.cssSelector("input[type='search']"));
    searchField.clear();
    searchField.sendKeys(name);
    driver.findElement(By.className("delete-template")).click(); 
    Alert alert = driver.switchTo.alert(); 
    Thread.sLeep(200); 
    alert.accept(); 
    String SuccessMessage = driver.findElement(By.className("toast")).getAttribute("class");
    System.out.println("Message of Toast Message is: " n SuccessMessage);
    Assert.assertEquals("toast toast-success", SuccessMessage);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 2020-02-04
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多