누군가 나를 자세히 설명 할 수 있습니까? 왜 셀런 webdriverjs의 "일부"작업이 비동기 함수가 돌아 오기를 기다릴 필요가 있고 다른 것들은 그렇지 않은지 설명 할 수 있습니까?셀레늄 webdriverjs에서 완료 될 때까지 기다릴 때 (그리고 없을 때)?
공식 샘플에서 은 driver.findElement
을 사용하기 전에 완료되기를 기다리지 않고 있지만 driver.getTitle()
이라는 제목을 검색하면 비교하기 전에 약속을 사용합니다.
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();
driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getTitle().then(function(title) {
return title === 'webdriver - Google Search';
});
}, 1000);
driver.quit();
감사합니다.이 대답은 나를 많이 도왔습니다! –