gpt4 book ai didi

javascript - Selenium 刷新任何页面直到元素可见 Java

转载 作者:行者123 更新时间:2023-12-02 10:17:48 24 4
gpt4 key购买 nike

我希望 selenium 等待 3 分钟,然后刷新页面,直到找到元素(下载按钮)。我已尝试使用下面的代码,但它不起作用。

注意:我正在上传一个 zip 文件,有时需要几秒钟才能上传,有时需要 3 分钟。当文件在几秒钟内上传时,下面的代码工作正常。当 zip 文件上传时间较长时,它不起作用。

任何人都可以在这方面帮助我吗?

boolean displayed = false;
do {
try {
displayed = driver1.findElement(By.xpath("//*[@id=\"app\"]/main/div[1]/div/div/div/div[2]/table/tbody/tr[1]/td[4]/a")).isDisplayed();
} catch (NoSuchElementException e) {
System.out.println(e);
driver1.navigate().refresh();
}
} while (!displayed);

driver1.findElement(By.xpath("//*[@id=\"app\"]/main/div[1]/div/div/div/div[2]/table/tbody/tr[1]/td[4]/a")).click();

最佳答案

您可以设置元素列表的大小,而不是使用 .isDisplayed() 方法,如果大小大于 0,则单击该元素。
例如:

    boolean displayed = false;
List<WebElement> element = driver.findElements(By.xpath("//*[@id=\"app\"]/main/div[1]/div/div/div/div[2]/table/tbody/tr[1]/td[4]/a"));
while (!displayed) {
if (element.size() > 0) {
// Element is found so set the boolean as true
displayed = true;
// Click on the element
element.get(0).click();
} else {
// Adding a static sleep of 10 seconds, this else condition can be removed also
Thread.sleep(10000);
}
}

关于javascript - Selenium 刷新任何页面直到元素可见 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54551098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com