我相信这段代码存在一个小问题,但我会花几个小时与它斗争,并会感谢一些帮助。
我写了以下简单的代码:
var assert = require('assert'),
webdriver = require('selenium-webdriver');
describe('Google Search', function() {
var driver;
before(function() {
console.log("before START")
driver = new webdriver.Builder()
.forBrowser('firefox')
.build();
console.log("before END")
});
it('should work', function(done) {
console.log("it START")
driver.get('http://www.google.com/');
console.log("it END")
});
after(function() {
console.log("after START")
driver.quit();
console.log("after END")
});
});
并运行:
mocha open_google --timeout 15000
我希望firefox打开(在阻止之前),重定向到Google(它),然后关闭(之后)。
然而,它不会发生。我可以看到:
我在这里做错了什么?
答案 0 :(得分:0)
取决于几个因素,包括OS /浏览器组合, WebDriver可能会也可能不会等待页面加载。在一些 在某些情况下,WebDriver可能会在页面出现之前返回控件 装满,甚至开始装货。为了确保稳健性,您需要 使用Explicit和等待页面中存在的元素 隐含等待。[1]
这意味着,您应该等待一个元素可见,以获得预期的行为。希望这个解决方案能够发挥作用。