Selenium C#-单击元素,等待页面刷新,然后再次检查元素

时间:2019-01-10 10:46:29

标签: c# selenium-webdriver

我在网站上有一个元素,单击该元素时会更改其文本。但是,单击元素时,网页将刷新,并且仅在刷新后才更改文本。我在Selenium WebDriver C#中制作了一种POM方法来测试此功能:

http://localhost:4200/Personnes/view/2

问题是,一旦单击元素,网页就会刷新,但是代码会在页面刷新之前立即检查元素文本,从而给我带来负面的测试结果。有没有办法让测试在单击元素之后等待网页刷新,然后再检查其文本?

1 个答案:

答案 0 :(得分:0)

如果页面上有加载程序,则可以先等待加载消失,然后检查文本,否则可以等待带有旧文本的元素消失,然后等待带有新文本的元素。这是一些可以让元素消失的代码:

 var defaultWait = new WebDriverWait(this, TimeSpan.FromSeconds(30));
 defaultWait.Until(
                    ExpectedConditions.InvisibilityOfElementLocated(By.XPath((selector)))
                    );