zoukankan      html  css  js  c++  java
  • js框操作-----Selenium快速入门(八)

      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(); 

      最后的运行效果如下:

  • 相关阅读:
    Python中return self的用法
    多分类问题的交叉熵计算
    Python爬虫之足球小将动漫(图片)下载
    Sklearn中二分类问题的交叉熵计算
    TensorFlow.js入门(一)一维向量的学习
    MySql 流程控制经典案列讲解
    MySql 流程控制
    MySql 函数
    MySql 存储过程
    MySql 视图
  • 原文地址:https://www.cnblogs.com/devtester/p/8622223.html
Copyright © 2011-2022 走看看