selenium webdriver执行js脚本

作者: 七月尾巴_葵花 | 来源:发表于2017-04-13 23:54 被阅读357次

    在用selenium 1.X的时候常常会用到getEval()方法来执行一段js脚本来对页面进行处理,以处理一些遇到的问题。当然selenium webdriver也提供这样的一个方法:executeScript()

    
    import org.openqa.selenium.JavascriptExecutor;  
    import org.openqa.selenium.WebDriver;  
    
    public class  SimpleExample {  
    
        public static void main(String[] args) {  
    
            WebDriver driver = new FirefoxDriver();  
    
              ((JavascriptExecutor)driver).executeScript("alert(\"hello,this is a alert!\")");  
        }  
      
    }  
    

    上面是一个最简单的例子,打开一个浏览器,然后弹层一个alert框。注意这里的driver要被强制转换成JavascriptExecutor。

    下面演示在打开xxx.com首页如何得到帐号输入框中显示的字符,并打印输出。

    import org.openqa.selenium.JavascriptExecutor;  
    
    import org.openqa.selenium.WebDriver;  
    public class FirstExampe {  
        
        public static void main(String[] args) {  
    
            WebDriver driver = new FirefoxDriver();  
    
            driver.get("http://www.xxxx.com");  
    
            String js = "var user_input =document.getElementById(\"passport_51_user\").title;return user_input;";          
    
            String title = (String)((JavascriptExecutor)driver).executeScript( js);  
    
            System.out.println(title);  
    
        }  
    }  
    

    相关文章

      网友评论

      • 郑钱钱的小笔记:请问例如想登录 简书,点击登录后选择qq登录后,进入到一个QQ登录的页面,怎么样定位下图中的这个“账号密码登录”呢,这个页面是在iframe下的html中。(我把这个问题放在百度知道里面了,https://zhidao.baidu.com/question/565764857149589444.html),如果你知道并且有时间的话能帮忙看一下吗?
        郑钱钱的小笔记:@七月尾巴_葵花 ,是的,就是不太明白这个页面要怎么去操作点击“密码登录”
        七月尾巴_葵花:@郑钱钱的小笔记 授权页面是有两个层的

      本文标题:selenium webdriver执行js脚本

      本文链接:https://www.haomeiwen.com/subject/dfbiattx.html