天天看點

6.6 Selenium操作彈出對話框

1.警告框

警告框的作用是提示使用者相關資訊的驗證結果、錯誤或警告。

程式6-17示範效果:打開含有警告框的網頁,等待2秒後輸出警告框資訊,點選确認後退出。含有警告框的網頁HTML代碼如下所示。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>alert</title>
  </head>
  <body>
    <script>alert("hello world!");</script>
  </body>
</html>      
//程式6-17
public class Alert {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver  = WebDriverUtils.getWebDriver();
        String url = "https://www.leichuangkj.com/alert.html";
        driver.get(url);
        Thread.sleep(2000);
        //切換到警告框
        Alert javascriptAlert = driver.switchTo().alert();
        System.out.println(javascriptAlert.getText());
        javascriptAlert.accept();
        driver.quit();
    }
}      
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>alert</title>
  </head>
  <body>
    <script>var myname = prompt("請輸入你的姓名:");
      if(myname != null){   
        alert("你好" + myname); 
      }else{  
        alert("你好,my friend!");  
      }</script>
  </body>
</html>      
//程式6-18
public class Prompt {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver  = WebDriverUtils.getWebDriver();
        String url = "https://www.leichuangkj.com/prompt.html";
        driver.get(url);
        Thread.sleep(2000);
        //切換到提示框
        Alert javascriptPrompt = driver.switchTo().alert();
        //輸入姓名
        javascriptPrompt.sendKeys("steven");
        Thread.sleep(2000);
        //确定操作
        javascriptPrompt.accept();
        //取消操作
        //javascriptPrompt.dismiss();
        System.out.println(javascriptPrompt.getText());
        Thread.sleep(2000);
        //彈出新的警告框
        javascriptPrompt = driver.switchTo().alert();
        javascriptPrompt.accept();
        driver.quit();
    }
}      
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>alert</title>
  </head>
  <body>
    <script>var mymessage = confirm("你喜歡Java嗎?");
        if(mymessage == true){   
          document.write("很好,加油!");   
        }else{  
          document.write("Java功能強大,要學習噢!");   
        }</script>
  </body>
</html>      
//程式6-19
public class Confirm {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver  = WebDriverUtils.getWebDriver();
        String url = "https://www.leichuangkj.com/confirm.html";
        driver.get(url);
        Thread.sleep(2000);
        //切換到确認框
        Alert javascriptConfirm = driver.switchTo().alert();
        //确認
        javascriptConfirm.accept();
        //取消
        //javascriptConfirm.dismiss();
        Thread.sleep(2000);
        driver.quit();
    }
}      

繼續閱讀