首页 > 后端开发 > C++ > 为什么我的 WebDriverWait 在不调试的情况下运行时似乎被忽略了?

为什么我的 WebDriverWait 在不调试的情况下运行时似乎被忽略了?

Linda Hamilton
发布: 2025-01-03 19:55:40
原创
784 人浏览过

Why Does My WebDriverWait Seem to Be Ignored When Running Without Debugging?

WebDriver.Wait 不等待指定元素

查询:

我的代码尝试等待检索其文本内容之前元素的外观。单步执行代码时,它可以正常运行。然而,当没有断点运行时,等待似乎被绕过并引发异常。

为什么等待被忽略?

代码片段:

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
IWebElement message = wait.Until(driver => driver.FindElement(By.ClassName("block-ui-message")));
string messageText = message.Text;
登录后复制

回复:

另一种选择方法是将 WebDriverWait 的 ElementIsVisible() 方法与修改后的定位器策略结合使用:

string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
登录后复制

将 DotNetSeleniumExtras.WaitHelpers 与 NuGet 结合使用:

如果使用 SeleniumExtras 和 WaitHelpers ,代码可以修改为如下:

string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
登录后复制

以上是为什么我的 WebDriverWait 在不调试的情况下运行时似乎被忽略了?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板