无法在IE(Selenium)

时间:2017-05-11 22:05:10

标签: c# selenium internet-explorer-11

出于某种原因,我似乎无法在使用selenium IEDriver时单击登录按钮。它适用于Chrome和Firefox。

网站为http://www.notacv.com/

简单代码......

IWebDriver driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl("http://www.notacv.com");
IWebElement element2 = driver.FindElement(By.CssSelector("div.container-fluid.hero ul li:nth-child(1)"));
element2.Click();

我尝试了以下方法来解决问题但没有成功

  • 尝试过引用li和a标签
  • XPath和CSS选择器 - 都确认通过Chrome开发人员工具栏只找到一个元素
  • Thread.sleep(防止错误,但在点击时不执行任何操作)
  • 重复点击和等待
  • Javascript,JQuery和angular waits
  • 的SendKeys(Keys.Enter)
  • 操作 - > moveto.Click()
  • 明确等待检查显示,可见性,已启用
  • C#量角器

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

请检查当前链接https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#Required_Configuration

确保您已应用所需的更改

  • 必须下载IEDriverServer exectuable并将其放入PATH。
  • 在Windows Vista或Windows 7上的IE 7或更高版本中,必须将每个区域的保护模式设置设置为相同的值。价值 只要每个区域都相同,就可以打开或关闭。设置 保护模式设置,从中选择“Internet选项...” “工具”菜单,然后单击“安全”选项卡。对于每个区域,都会有 是标签为“启用保护”选项卡底部的复选框 模式”。
  • 此外,必须为IE 10及更高版本禁用“增强保护模式”。此选项位于Internet的“高级”选项卡中 选项对话框。
  • 浏览器缩放级别必须设置为100%,以便可以将本机鼠标事件设置为正确的坐标。
  • 仅对于IE 11,您需要在目标计算机上设置一个注册表项,以便驱动程序可以保持与实例的连接 它创建的Internet Explorer。对于32位Windows安装, 您必须在注册表编辑器中检查的密钥是 HKEY_LOCAL_MACHINE \ SOFTWARE \微软\互联网 资源管理器\ MAIN \ FeatureControl \ FEATURE_BFCACHE。对于64位Windows 装置,关键是 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\互联网 资源管理器\ MAIN \ FeatureControl \ FEATURE_BFCACHE。请注意 FEATURE_BFCACHE子键可能存在也可能不存在,应该是 如果它不存在则创建。重要提示:在此密钥内,创建一个 DWORD值名为iexplore.exe,值为0.