我想断言页面上存在一个元素。可以像这样在量角器中进行检查:
expect(element(by.id('button')).isDisplayed()).to.eventually.be.true
硒的等效物是什么?我尝试过
expect(driver.findElement(By.id('button')).isDisplayed()).to.be.true
但是我收到错误NoSuchElementError: Unable to locate element: *[id="button"]
。
答案 0 :(得分:1)
因此,在调用driver.findElement
时,您正在页面上查找WebElement。如果在请求时未出现在DOM中,它将返回NoSuchElementError
。
您也可以执行driver.wait。以下是selenium-webdriver代码段。
driver.wait(() => {
return driver.findElement(By.id('button')).then(() => {
return true;
}).catch(() => {
return false;
});
}, 5000);
expect(await driver.findElement(By.id('button')).isDisplayed()).toBeTruthy();