在节点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
的别名)。
- node.js让大量的tcp客户端大失所望
- 如何立即保存在一个Sequelize beforeCreate钩子?
- 我是否需要同构JavaScript应用程序中的dynamic元标记?
- .save()不是函数Mongoose
- 具有Node.js的jQuery Selector对于无节点的jQuery的返回是不同的
- 如何将一个string转换为nodejs mongodb本地驱动程序中的ObjectId?
- 我如何将范围传递给node-mysql中的callback?
- validationnodejs + express中的URL以处理错误的请求错误
- 如何在我的Firebase无限滚动中按时间顺序sorting数据?