WebDriverJS API说我可以编写如下代码:
driver.get("http://www.google.com");
driver.findElement(webdriver.By.name("q")).sendKeys("webdriver");
driver.findElement(webdriver.By.name("btnG")).click();
driver.getTitle().then(function(title) {
console.log(title);
//assertEquals("webdriver - Google Search", title);
});
这里的标题是“谷歌”。我可以修改代码:
driver.get("http://www.google.com");
driver.findElement(By.name("q")).sendKeys("webdriver");
driver.findElement(By.name("btnG")).click().then(function(){
/*WebDriverWait.until(function() {
driver.getTitle().then(function(title) {
console.log(title);
title = "webdriver - Google Search"
});
});*/
driver.sleep(3000).then(function() {
driver.getTitle().then(function(title) {
console.log(title);
});
});
});
而现在的标题是“webdriver - Google Search”。在页面有机会加载之前,promise 会更改状态。此示例来自 API 文档,因此它应该可以工作。
我看到了一个等待 SO 的示例,但是我不知道将其转换为 WebDriverJS 中的工作代码,并且 API 没有提到“直到”。