【发布时间】:2021-04-07 02:56:44
【问题描述】:
这是我的代码
do {
try {
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(xpLand)));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
driver.findElement(By.xpath(xpLand)).click();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Thread.sleep(500);
if (i > 20 ) {
break;
}
i++;
} while (driver.findElements(By.xpath(xpLand)).size() > 0);
网址https://win.milwaukeetool.eu/#
elementToBeClickable 有效(我也尝试过不同版本的visible 和其他替代方案),没有抛出异常。 click 也可以,但点击不会触发任何内容。最后,while-条件也是true。
发生的情况是页面加载(在上面的代码之外),可点击满足,点击不抛出异常,while-condition 大于 0(如果点击有效,则会加载新页面它会是 0),然后重新开始。
屏幕尺寸 1440 x 900-23(23 = 菜单栏高度)
xpLand = //img [@src='/img/countries/se.svg']
奇怪的是,它大约有一半的时间可以工作,但另一半却失败了(我只运行了大约 400 次,它每次都工作并失败了大约 200 次)。如果我在代码卡住时手动单击链接,单击会导致预期结果。
就像有时卡住一样。我有一个外循环(上面看不到),它使用同一个驱动程序运行十次,然后启动一个新驱动程序。如果它“卡住”了,在这十个循环完成并启动新驱动程序之前,它将无法再次工作。然后它可能会工作 5-10 次,直到再次卡住。
使用 Chrome/chromedriver。
【问题讨论】:
-
什么是
xpLand?
标签: java selenium selenium-webdriver webdriverwait expected-condition