在 Node JavaScript 中使用 Selenium-Webdriver 执行“命令”
executing "commands" using selenium-webdriver in node javascript
我有兴趣通过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)
});
这会将 2 记录到控制台。
我还用以下方法对此进行了测试:
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
的别名)。
你需要 driver.executeScript()。可以传递函数或字符串。
const _scraper = () => {
return document.title;
}
const getPageTitle = async (url) => {
await driver.get(url);
const pageTitle = await driver.executeScript(_scraper);
console.log(pageTitle);
}
您还可以将参数传递给函数。
const _scraper1 = (arg) => {
return document.getElementsByTagName(arg);
}
const getTagData = async (url) => {
await driver.get(url);
const metas = await driver.executeScript(_scraper, 'meta');
console.log(metas);
}
相关文章:
- 如何使用脚本在jsf中执行命令按钮的自动点击
- 在OrientDB javascript函数中执行命令后获得rid
- 打印窗口关闭后执行命令
- 使用 Node.js 执行命令行二进制文件
- 防油精javascript执行命令
- 使用JavaScript执行命令行调用
- 如何从 li 执行命令
- 在没有javascript循环的情况下多次执行命令
- 执行命令链接的操作并显示对话框
- 通过 javascript 或 java 在 Firefox 开发者工具栏上传递和执行命令
- Node.js hubot 在服务器上执行命令
- 在 Node JavaScript 中使用 Selenium-Webdriver 执行“命令”
- 使用 Danf 执行命令
- 更改 url 后在 Firebug 中执行命令
- 在执行 h:命令链接操作时显示工作图像
- Angular js 用于在 Putty 中执行命令
- 即使在关闭 hta 后也执行命令
- NodeJS函数执行命令
- jasmine节点spec执行命令
- 如何从php执行命令提示符