selenium - 如何使用 selenium 更改 IE 上的浏览​​器模式?

标签 selenium selenium-webdriver

我正在尝试使用 c# 在带有 selenium 的 IE 上运行不同的浏览器模式。这是一些代码:

var ieWebDriver = new InternetExplorerDriver(@"PATHTOWEBDRIVER");
ieWebDriver.Keyboard.SendKeys(Keys.F12);

ieWebDriver.Keyboard.SendKeys(Keys.LeftAlt);
ieWebDriver.Keyboard.SendKeys("b");
ieWebDriver.Keyboard.SendKeys(Keys.NumberPad7);

我可以打开开发者工具 (f12),但无法更改浏览器模式。 IE 是否阻止了这种应有的安全性?如果是这样,是否有其他方法可以使用较低的 IE 版本渲染内容?

谢谢

最佳答案

没有。 IEDriver 将启动计算机上安装的任何 IE。

更改“浏览器模式”并不真实代表您要更改的版本。 IE7 标准模式下的 IE9 并不是 IE7 的真正版本。

因此,你陷入了一个问题。您想测试不同版本的 IE,该怎么做?

问题在于,Windows 允许您在任何时间一台 Windows PC 上只能安装一个 IE 版本。是的,有一些黑客和程序可以让多个版本(IE5 及更高版本)在一台机器上运行,但它们只是黑客。这些黑客行为不会很好地发挥作用,而且即使这样,您也无法为 IEDriverServer 提供执行此操作的灵活性。

您必须拥有单独的 Windows 计算机。

一种解决方法,也是一种破解,是在注册表中设置浏览器模拟模式,如 SO question 中所述。 .

请注意,在上述问题中,接受的答案不会起作用,但其他答案可能起作用。请注意,对该答案的评论是由 IEDriver 本身的维护者提出的,建议强烈反对这一点。

另一种解决方法(我尚未测试过)可能是使用 native C# Keyboard.SendKeys,如文档 here 所示。在 MSDN 中。我不确定它是否有效(不认为有人曾经尝试过它),但这是另一种选择。

关于selenium - 如何使用 selenium 更改 IE 上的浏览​​器模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16867194/

相关文章:

ruby - Selenium Webdriver - 如何跳过单击后等待页面加载并继续

java - 截取整个页面的屏幕截图

java - Selenium 服务器集线器设置为特定的 IP 和端口

java - 将多个数据写入 Excel 文件

selenium-webdriver - Selenium 独立服务器 2.45 ;火狐版本 36

javascript - Selebiun 爬虫超时问题 C#

java - 如何通过Selenium阻止chrome中的弹出窗口

c# - 如何在 C# 中使用相对路径实例化新的 ChromeDriver?

java - 从网页中获取文本的背景颜色

java - 选项卡中的 TestNG 并行 DataProvider