使用 Selenium C# 在私有模式下的 IE

Posted

技术标签:

【中文标题】使用 Selenium C# 在私有模式下的 IE【英文标题】:IE in Private Mode using Selenium C# 【发布时间】:2021-05-19 09:46:55 【问题描述】:

我想以私有模式打开 IE 来运行这组测试用例。浏览器打不开。它显示错误为

The HTTP request to the remote WebDriver server for URL URL timed out after 60 seconds

示例代码:

InternetExplorerOptions options = new InternetExplorerOptions()

    ForceCreateProcessApi = true,
    BrowserCommandLineArguments = "-private",
;
IWebDriver driver = new InternetExplorerDriver("C:\\Reports", options);

driver.Navigate().GoToUrl("https://www.google.com");

我还在注册表编辑器中将 TabProcGrowth 更改为 0。

如何以私有模式打开IE运行测试用例?我想在我的代码中更新的任何内容。提前致谢。

【问题讨论】:

尝试将PageLoadStrategy = PageLoadStrategy.Eager 添加到options 并再次尝试运行您的代码。看看有没有区别。如果问题仍然存在,我建议您告知我们您用于进行此测试的 IE 浏览器、Web 驱动程序和 selenium 的确切版本? 【参考方案1】:

这就是我设法启动它的方式:

    在注册表编辑器中将 TabProcGrowth 设置为 0。 获取 Selenium.WebDriver.IEDriver64 块而不是普通的 32 并构建项目 从 bin\Debug\netcoreapp3.1 获取 IEDriverServer64.exe(生成此文件的输出文件夹取决于您的 TargetFramework:.netcore 或 .netstandard) 将该文件重命名为 IEDriverServer.exe 并将其放在文件夹中的某个位置 使用该文件夹的路径创建驱动程序实例。就我而言,我在项目中创建了一个文件夹并指向那里

Project: Solution Explorer View

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
using System.IO;

namespace InternetExplorerPrivate

    public class Tests
    
        public IWebDriver driver;

        [SetUp]
        public void Setup()
        
            InternetExplorerOptions options = new InternetExplorerOptions();
            options.ForceCreateProcessApi = true;
            options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
            options.BrowserCommandLineArguments = "-private";
            driver = new InternetExplorerDriver(Path.GetFullPath(@"..\..\..\IEDriver"), options); 
        

        [Test]
        public void Test1()
        
            driver.Navigate().GoToUrl("https://***.com/");
        
    

【讨论】:

现在完美运行。太好了。。谢谢你的回答。这对我帮助很大。 如果你知道我下一个问题的答案。请告诉我。 ***.com/questions/66238850/…

以上是关于使用 Selenium C# 在私有模式下的 IE的主要内容,如果未能解决你的问题,请参考以下文章

求selenium 如何处理IE浏览器下的下载文件框

使用 c#、selenium 和 jquery 实现 IE 自动化 - 从动态表中随机获取

C#使用Selenium

selenium调用IE浏览器报错

带有 Selenium 私有模式的 FirefoxProfile

Selenium调用Chrome,Firefox,IE