我正在量角器中运行测试,我们将一个元素滚动到视图中,等待它被单击,然后单击它。
await scrollIntoView(this.locator.rowByName(name), this.browser);
await this.browser.wait(
ExpectedConditions.elementToBeClickable(this.locator.checkboxByName(name)),
3000,
`Waiting for checkbox for ${name} to be clickable.`);
await this.locator.checkboxByName(name).click();
随机地说,失败是因为其他元素将获得点击。失败的屏幕截图显示浏览器未完成滚动。因此,尽管该元素是可单击的,但由于正在进行滚动,因此尝试单击它失败。
是否有内置的方式等待浏览器停止滚动,例如
// doesn't work but wish it did
await browser.wait(ExpectedConditions.doneScrolling(browser), ... )
我可以检查一下记录滚动位置的位置,等待一段时间,再次检查,然后重复直到不改变为止,但是如果已经有内置的方法,我不希望这样做。 / p>