js框,就是JavaScript中的警告框(alert),确认框(confirm),提示框(prompt),他们都是模态窗口。什么是模态窗口,大家可以自行百度一下,简单说就是弹出的窗口是在最顶端的,你点击文档,无法切换到文档,它总是在最顶端,最先接受用户的响应,而且这种框同时只能存在一个。这有点像播放器的当播放时总在最前一样。

  Selenium中对js框的操作非常简单,js框在Selenium中被抽象成Alert对象,只有四个方法:

  void accept() :点击“确定”按钮

  void dismiss() :点击“取消”按钮

  Stirng getText() :获得窗口的提示信息

  void sendKeys(String keysToSend) :在提示框中输入文档

  在操作这些框前,当然需要先切换到他们,所以还需知道一个方法:

  Alert switchTo().alert() :切换到js框,并且返回一个Alert对象

  我们将通过讲解最复杂的提示框来说明Alert对象的用法。

  首先,我们在html文件夹中,增加一个html文件,jsWin.html,其中的代码是这样的

<!DOCTYPE html>
<html>
<head>
<meta>
<title></title>
</head>
<body>

<p>点击按钮查看输入的对话框。</p>
<button id="button1" onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
function myFunction(){
    var x;
    var person=prompt("请输入你的名字","");
    if (person!=null && person!=""){
        x="你好 " + person + "! 今天感觉如何?";
        document.getElementById("demo").innerHTML=x;
    }
}
</script>

</body>
</html>

我们要进行的操作是,点击页面上的按钮,输入“Selenium”,然后按确定

代码如下:

     //得到WebDriver
        WebDriver driver=DriverHelper.CreateChromeDriver();
        driver.get("file:///D:/WorkSpace/SeleniumTest/html/jsWin.html");
        
        //找到页面上的按钮,并点击弹出提示框
        driver.findElement(By.id("button1")).click();
        
        Thread.sleep(1000);
        
        Alert prompt = driver.switchTo().alert();
        //输出提示框的提示信息,此处最后输出“请输入你的名字”
        System.out.print(prompt.getText());
        
        Thread.sleep(1000);
        //在提示框的文本框中,输入Selenium,并点击确定
        prompt.sendKeys("Selenium");
        prompt.accept(); 

  最后的运行效果如下:

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!