需要 Selenium 框架通用函数来实现下一个元素的可见性

Need Selenium framework common function for next element visibility

需要 Selenium 框架通用函数来实现下一个元素的可见性。 我有一个加载时间稍长的 Web 应用程序,我正在为此构建一个 java Selenium 自动化框架, 目前我正在使用:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("<xpath>")));

但是将它用于每个元素, 就像我单击元素 A 后,接下来将等待元素 B 加载,然后单击元素 B,然后等待元素 C,然后单击元素 C。

我想消除等待每个元素的步骤,需要一个可用于缓解此问题的通用函数。 我是 selenium 的新手,因此非常感谢带有代码示例的详细解释。

提前致谢。

你快到了,它会是这样的:

public WebElement waitForElement(WebDriver driver, String xpath) {
    return new WebDriverWait(driver, 10)
            .ignoring(NoSuchElementException.class)
            .until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath)));
}

我添加了一行来解决 NoSuchElementException which will occur if the element is not present in the page as visibilityOfElementLocated function assumes that the element is present in DOM,如果该元素不存在,它将抛出上述异常。

Page Object Model Design Pattern

还有一个选项