我正在自动化一个Web门户。我遇到了一个不同的问题。我有两个下拉列表,分别是A和B。加载页面时,A将具有列表中的第一个值,因此B具有它的值。当用户从A中选择值时,B中的值相应地改变。因此,我坚持如何添加显式等待。我尝试了以下代码。
WebDriverWait wait = new WebDriverWait(getDriver(), 20);
WebElement element = wait.until(ExpectedConditions.presenceOfElementLocated(elementPath));
但是下拉列表B中的值已经存在于页面加载中。因此,它不是在等待B中的文本更改,而是采用默认值。
有人可以帮忙吗?
presenceOfElementLocated
正在检查DOM中是否存在元素。这并不意味着它们是可见的,您可以与它们进行交互。
尝试
WebDriverWait wait = new WebDriverWait(getDriver(), 20);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(elementPath));
或者
WebDriverWait wait = new WebDriverWait(getDriver(), 20);
WebElement element = wait.until(ExpectedConditions.textToBePresentInElementLocated(elementPath, text));
您可以等到元素可见或带有文本。有关更多预期条件
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句