Selenium Webdriver C# element.Enabled 当元素仍处于禁用状态时评估为 true

2024-02-24

我的自动化测试过去运行顺利,但我们将 QA 环境移至不同的服务器,现在测试失败,因为它不断尝试单击仍在加载且变灰/禁用的元素。以下是在以前的服务器上运行良好的部分代码:

while ( less than 7 seconds )
if (driver.FindElements(by).Count > 0)
{
      if (driver.FindElement(by).Enabled && driver.FindElement(by).Displayed)
            break;
}
else 
{ go back to while loop }

问题是,当页面显然仍在加载并且整个页面仍然呈灰色时, driver.FindElement(by).Enabled 不断评估为“true”(我在调试过程中发现),导致驱动程序继续尝试单击在灰色的元素上,然后测试当然会失败并出现异常。有人遇到过这种问题吗?我将 Webdriver 与 C# 和 NUnit 一起使用,在 IE 中运行测试。谢谢。


Enabled 方法仅适用于输入元素和单选按钮。对于非输入元素,请使用 GetAttribute("disabled")。如果disabled =“disabled”,则返回“true”;如果仍然启用,则返回null。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium Webdriver C# element.Enabled 当元素仍处于禁用状态时评估为 true 的相关文章

随机推荐