Selenium - 使用Exists方法

时间:2017-03-27 20:29:35

标签: c# selenium timeout selenium-chromedriver exists

我一直在尝试使用底部错误消息在网上找到可能的解决方案而没有运气。

An exception of type 'OpenQA.Selenium.WebDriverException' occurred in WebDriver.dll but was not handled in user code

Additional information: The HTTP request to the remote WebDriver server for URL http://localhost:49357/session/8490ba8026d4a3d1bb60f08d2063ae79/elements timed out after 60 seconds.
    protected bool Exists(By by)
    {
        return wd.FindElements(@by).Any();
    }

当我运行遇到“存在”方法(上面发布)的任何脚本时,我期待它正在搜索的元素不在那里,我收到错误消息“HTTP请求...定时60秒后出来。“但是,这只发生在我在Chrome中运行测试并且页面上不存在该元素时(当它存在时,它与Exists方法没有任何问题)。当我使用Firefox运行脚本时,它根本没有问题。

我已经尝试将commandTimeout扩展到两倍,但它仍然在60秒时失败。尝试更改“webDriver.Manage()。Timeouts()。ImplicitlyWait(TimeSpan.FromSeconds(###))”到两倍的等待时间,没有成功。查看我的代码库中具有超时方法的所有内容并尝试更改这些内容,但也没有成功。我甚至将ChromeOptions BinaryLocation更改为指向实际的chromedriver.exe文件。

如果有人可以建议如何找到正确的等待命令的默认位置,或者如何解决我的问题,如何识别屏幕上何时没有元素,那将极大地帮助。

0 个答案:

没有答案