selenium + js + ava
Были проблемы с кликами по объектам из-за прелоадера.
Написал следующее:
export async function WaitForClickableElement(driver, ClickToLocator) {
await driver.wait(until.elementLocated(ClickToLocator), 10000);
let a = await driver.findElements(By.className('loading-cloack'));
if (a.length > 0)
{
await driver.wait(until.stalenessOf(driver.findElement(By.className('loading-cloack'))), 100000);
}
await driver.sleep(100);
await driver.findElement(ClickToLocator).click();
}
НО теперь проблемы возникают тогда когда прелоадер вообще не появляется.
Как лучше сделать когда прелоадлер может быть а может и не быть. Тест рандомно сейчас может пройти 10 из 10 а может упасть 10 из 10.
Падает с ошибкой:
message: `no such element: Unable to locate element: {"method":"css selector","selector":".loading-cloack"}␊
(Session info: chrome=79.0.3945.88)`,
}