gpt4 book ai didi

internet-explorer - Selenium InternetExplorerDriver 不等到页面加载

转载 作者:行者123 更新时间:2023-12-02 01:48:09 26 4
gpt4 key购买 nike

我遇到了让我发疯的 InternetExplorer WebDriver 问题。

IE 出于某种原因不会等到页面加载并继续执行代码。

以下代码会打开 Google 页面,但不会在之后打开 Wikipedia 页面:

var driver = new InternetExplorerDriver();

driver.Navigate().GoToUrl("http://google.com");
driver.Navigate().GoToUrl("http://wikipedia.org");

在 FireFox 中有一个完全不同的行为。此代码打开 Google 页面,然后打开维基百科页面:

var driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://google.com");
driver.Navigate().GoToUrl("http://wikipedia.org");

如何让 IE 的行为与 FireFox 相同?

IE 版本 - 11.0.9600.17107; Selenium.WebDriver 版本 - 2.42(NuGet 安装);Selenium.WebDriver.IEDriver 版本 - 2.24(NuGet 安装)

这是我用来测试显式等待的代码。作为此测试的结果,我得到“OpenQA.Selenium.WebDriverTimeoutException:30 秒后超时 ---> OpenQA.Selenium.NoSuchWindowException:无法在关闭的窗口上找到元素”:

[TestMethod]
public void Open()
{
var driver = new InternetExplorerDriver();

driver.Navigate().GoToUrl("http://google.com");
driver.Navigate().GoToUrl("http://wikipedia.org");

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
var myElement = wait.Until(d => d.FindElement(By.CssSelector("input#www-wikipedia-org")));
Assert.IsNotNull(myElement);
}

刚刚检查了设置页面加载超时的建议。没有帮助。行为相同。

最好的问候,

德米特里

最佳答案

我使用 Windows 7/IE 11 并且从 Windows 7/IE 10 移动的测试序列突然开始不等待页面加载; 10 毫秒后,它会进入下一页,依此类推。

我“修复”了在 Internet 选项对话框中将所有四个区域(Int​​ernet、本地 Internet、可信站点和受限站点)中的保护模式设置为关闭的问题;必须在所有地方关闭标志,否则 IEWebDriver 会提示它并且根本不会启动 IE。它还解决了有时 IE 窗口在测试结束时仍然打开的问题,尽管有明确的命令关闭它。

它为恶意攻击留下了空间,因此它并不适用于所有情况,但有效。

关于internet-explorer - Selenium InternetExplorerDriver 不等到页面加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24244736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com