【发布时间】:2021-03-30 12:57:23
【问题描述】:
我有这个代码:
WebElement iframeElement = driver.findElement(By.xpath(xpIframe));
driver.switchTo().frame(iframeElement);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpLucka)));
driver.findElement(xpLucka).click(); //this click fails
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpSvara))); //TimeoutException
driver.findElement(xpSvar).click();
driver.findElement(xpSvara).click();
它经常在带有注释//TimeoutException 的行上失败。当我在浏览器中查看处于打开状态的网页状态时,很明显点击之前的行失败了。这令人困惑。该元素显然在那里,我在网络检查器中发现它没有问题,并且上一行的 wait.until 显然成功了。
接下来我要确保不会失败的是switchTo() 语句。如何验证 switchTo-call?
- 注意,也经常成功。我只是在循环中运行了 9 次,失败了 5 次“但”成功了 4 次。
- 当然非常欢迎任何其他可能发生这种情况的建议。
【问题讨论】:
标签: java selenium selenium-webdriver iframe webdriverwait