【发布时间】:2021-04-24 15:48:17
【问题描述】:
我有一个问题。 在我正在测试他们的页面中是一个字段,其中包括 . 我希望硒等到
getWebDriver().findElement((locator)).getAttribute("value");
会返回一个特定的文本。 他们是硒等到getAttribute返回自定义文本的一种方式吗?
【问题讨论】:
标签: selenium selenium-webdriver selenium-chromedriver
我有一个问题。 在我正在测试他们的页面中是一个字段,其中包括 . 我希望硒等到
getWebDriver().findElement((locator)).getAttribute("value");
会返回一个特定的文本。 他们是硒等到getAttribute返回自定义文本的一种方式吗?
【问题讨论】:
标签: selenium selenium-webdriver selenium-chromedriver
您应该使用 Selenium Web 驱动程序显式等待条件来等待带有文本的元素出现在 DOM 中。
带有不同语言示例的官方文档: https://www.selenium.dev/documentation/en/webdriver/waits/#explicit-wait
如果这对你没有帮助,请告诉我。
【讨论】:
这解决了我的问题
public void waitForElementAttributeEqualsString(By locator, String expectedString)
{
WebDriver driver = getWebDriver();
WebElement element = driver.findElement(locator);
WebDriverWait wait = new WebDriverWait(driver, EXPLICIT_WAITE);
ExpectedCondition<Boolean> elementAttributeEqualsString = arg0 -> element.getAttribute("value").equals
(expectedString);
wait.until(elementAttributeEqualsString);
}
【讨论】: