在节点javascript中使用selenium-webdriver执行“命令”
我有兴趣通过JavaScript API https://code.google.com/p/selenium/source/browse/javascript/webdriver/command.js执行一些高级“命令”
如果我从基本代码开始:
var browser = new webdriver .Builder() .usingServer(server.address()) .withCapabilities(webdriver.Capabilities.phantomjs()) .build();
我尝试执行的每种“可能”语法都失败了。 例如:
// does not work console.log(webdriver.Command('getWindowSize')) // does not work console.log(browser.Command('getWindowSize'))
有谁知道如何执行“获取窗口大小”,或“设置窗口大小”在selenium JavaScript的WebDriver?
您可能正在寻找driver.executeScript。
例:
var driver = new webdriver.Builder(). withCapabilities(webdriver.Capabilities.chrome()). build(); driver.executeScript('return 2').then(function(return_value) { console.log('returned ', return_value) });
这将logging2到控制台。
我也testing了这个:
driver.get('http://underscorejs.org/'); driver.executeScript('return _').then(function(return_value) { console.log('returned ', return_value) });
…正确列出_上定义的所有方法,所以它似乎工作。
在我的npm软件包中,有一个文件node_modules/selenium-webdriver/test/execute_script_test.js
其中有许多使用driver.executeScript
例子(在它们定义的文件的最后execute
executeScript
的别名)。