早上好家伙!
我在使用 Selenium Webdriver (JAVA) 进行自动化时遇到问题。首先,系统(界面)使用AJAX,好吗?!
我必须多次点击同一个按钮。该按钮保留相同的元素。
为了避免错误(ElementClickInterceptedException 和/或 StaleElementReferenceException),我最初添加了一个带有异常“elementToBeClickable”的 WebdriverWait。然而,即使这样等待,错误仍然存在。
然后我决定添加 FluentWait。我添加了例外、时间等,但也保留了错误。
我发现唯一有效的替代方案是著名的“Thread.sleep”(400ms)。
但我不想将 thread.sleep 添加到我的代码中,因为我发现这是一个不好的做法。
有人有什么想法吗?
下面是一些代码片段。
命令:driver.findElement(By.xpath("//tr[1]/td[8]/button"))。点击 ();
等待已使用:
1:
wait.until (ExpectedConditions.elementToBeClickable (By.xpath ("// tr / td [8] / button")));
2:
wait.until (ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath ("// tr / td [8] / button")));
3:
.withTimeout (10, TimeUnit.SECONDS) .pollingEvery (1, TimeUnit.SECONDS) .ignoring (NoSuchElementException.class) .ignoring (StaleElementReferenceException.class) .ignoring (ElementClickInterceptedException.class); waitFluent.until (ExpectedConditions.elementToBeClickable (By.xpath ("// tr / td [8] / button")));
有谁能够帮助我?预先非常感谢您!
眼眸繁星
相关分类