【发布时间】:2013-10-06 20:55:46
【问题描述】:
我有兴趣通过 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 中执行“获取窗口大小”或“设置窗口大小”吗?
【问题讨论】:
-
我没有使用Command的东西,但是我们使用了ExecuteScript函数来执行JavaScript。如果我记得,它会返回 javascript 通常会返回的任何内容,因此只需执行一个返回窗口大小的 javascript 函数(我认为您可能必须单独执行宽度和高度或单独获取它们并将它们作为具有 2 个值的对象返回或东西。)
-
谢谢皮特。
console.log(browser.ExecuteScript('window.height'));在这种情况下似乎不起作用。console.log(browser.executor_.execute('window.height'));你也没有样品吗? -
Alex,我遇到了很多问题,类似于您遇到的问题。 Node.js 中的 Selenium-webdriver 是一个混乱。整个 Promise 系统似乎有点道理,但我还没有找到如何使用它的可靠的真实示例(除了简单的“hello world”内容之外)。最后一天我一直在尝试简单地获取元素的可见文本......(叹气)我想我将放弃 selenium-webdriver,并改用webdriver.io。看起来很有希望,并且似乎使用已经熟悉的链接语法来近似同步。
标签: javascript node.js selenium webdriver