每次在页面上显示某个文本时,我都会尝试抛出异常。为了实现这一点,如果应该抛出异常,每次页面完成加载时都应该检查一个方法。我现在遇到的主要问题是在点击WebElement时打开新页面时点击,AKA。
如何在页面完成加载时始终调用自定义方法?
答案 0 :(得分:0)
以下是您的问题的答案:
当我们通过默认配置使用WebDriver时,属性pageLoadStrategy
设置为normal
,这意味着一旦页面加载完全完成,document.readyState
就会设置为complete
就是当WebDriver根据你的脚本执行下一个动作时。
现在,如果您想让自己确信document.readyState
设置为complete
,您可以在EplicitWait
的帮助下在脚本中实现以下代码块登录你的控制台:
IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00));
wait.Until(driver => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
如果这回答你的问题,请告诉我。