gpt4 book ai didi

java - 如何等待具有相同类名的所有元素?

转载 作者:行者123 更新时间:2023-12-01 06:15:37 26 4
gpt4 key购买 nike

请参阅下面的部分代码:

public class OrderDetailsDashboard extends AbstractTestNGSpringContextTests {

By orderDetails = By.cssSelector(".col-md-12 span strong");
By orderMoreDetails = By.cssSelector(".row.panel-info-summary span strong");
By refundOrderButton = By.cssSelector(".refund-order-action");

public orderDetails getOrderDetails(WebDriver driver) {
logger.info("About to collect and returns the specific order details - refreshing page");
WebDriverWait waitForTitle = new WebDriverWait(driver,30);
try {
waitForTitle.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(orderMoreDetails));
}
catch (StaleElementReferenceException ex) {
waitForTitle.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(orderMoreDetails));
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
waitForTitle.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(orderDetails));

我有一个问题似乎已解决,但我对解决方案不满意。我正在尝试使用自动化加载页面。下一个元素(此处表示为页面对象):

By orderDetails = By.cssSelector(".col-md-12 span strong")

在我的页面上出现了 6 次,并且仅包含粗体文本。我注意到,当我尝试获取第 7 个元素文本时,我得到了 Index Out Of Bounds Exception。尽管我使用 wait() 方法。最后我意识到 wait() 是等待,但不是重新发送 ALL 元素,这就是我的测试失败的原因。 (这也是我添加 thread.sleep 方法的原因)。

有没有办法使用wait()方法来实际等待页面上的ALL元素?

最佳答案

您可以等待任何条件,因此我猜想元素列表具有预期的大小。

你尝试过findElementsBy()吗???

关于java - 如何等待具有相同类名的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25627346/

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