提交 f9104555 authored 作者: 黄承天's avatar 黄承天

优化元素等待机制

上级 15bfb24b
...@@ -248,6 +248,7 @@ public class SeleniumExecutor { ...@@ -248,6 +248,7 @@ public class SeleniumExecutor {
if (newWindow) { if (newWindow) {
seleniumHelper.setHistoryHandles(driver.getWindowHandles()); seleniumHelper.setHistoryHandles(driver.getWindowHandles());
} }
movetoElementView(element); movetoElementView(element);
element.click(); element.click();
stepStartTime = System.currentTimeMillis(); stepStartTime = System.currentTimeMillis();
...@@ -472,17 +473,16 @@ public class SeleniumExecutor { ...@@ -472,17 +473,16 @@ public class SeleniumExecutor {
} }
private WebElement waitForElement(String target, List<List<String>> targets) { private WebElement waitForElement(String target, List<List<String>> targets) {
try { WebElement element = null;
new WebDriverWait(driver, 3).until(webDriver -> nonNull(getElement(target, targets))); for (int attempts = 0; attempts < 6; attempts++) {
WebElement element = getElement(target, targets); try {
if (nonNull(element) && ExpectedConditions.stalenessOf(element).apply(driver)) { new WebDriverWait(driver, 3).until(webDriver -> nonNull(getElement(target, targets)));
new WebDriverWait(driver,3).until(webDriver -> !ExpectedConditions.stalenessOf(getElement(target, targets)).apply(webDriver)); new WebDriverWait(driver, 3).until(webDriver -> !ExpectedConditions.stalenessOf(getElement(target, targets)).apply(driver));
element = getElement(target, targets); element = getElement(target, targets);
} catch (Exception ignored) {
} }
return element;
} catch (Exception ignored) {
return null;
} }
return element;
} }
/** /**
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论