使用selenium webdriver

时间:2016-02-26 12:09:34

标签: javascript selenium-webdriver

如何使用java selenium使用selenium webdriver文件执行外部.js文件。我得到了一些参考" Call external javascript functions from java code"但是调用函数能够接受该文件中的函数。我想整个执行整个文件。

2 个答案:

答案 0 :(得分:2)

在客户端上从服务器运行外部JavaScript非常简单:

{{1}}

您提供的链接并不实用,因为它是关于在服务器(在Java VM中)而不是在浏览器/设备客户端上执行JavaScript。

如果不是执行,您就会对注入 JavaScript感兴趣的JavaScript页面中的其他脚本等进行交互(即不是一次性的)执行),见this question

答案 1 :(得分:0)

这是nodeJS调用外部JS并在JS中执行函数的代码:

var fs = require('fs');
var webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;

 var driver = new webdriver.Builder()
.forBrowser('phantomjs')
.build();

var axeSource = fs.readFileSync('lib/axe.js', 'utf8');

driver
    .get('http://www.google.com/ncr')       
driver.executeScript(axeSource)
    .then(function(){
        driver.switchTo().defaultContent();
         driver.executeAsyncScript(function() {
           var callback = arguments[arguments.length - 1];
            window.axe.a11yCheck(document, null, function (results) {
                callback(results);
            });

         }).then(function(str) {
                var viola = processResults(str);
                console.log(viola);
            });
    })


driver.quit();