我正在尝试使用 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/