设置 selenium 以与 Internet Explorer 一起使用

Setting up selenium to work with internet explorer

我已经创建了一个 python 脚本,我可以在 Google Chromedriver 下执行它并完全按照我的意愿行事。但是,为了确保我的可执行文件可以在所有 PC 上运行,我想让我的脚本与 Internet Explorer 驱动程序一起工作,但我遇到了问题。我在下面附上了我尝试 运行 的示例测试代码以及​​我收到的错误消息。

from selenium import webdriver
driver = webdriver.Ie()
driver.get("google.com")

我收到的错误代码是:

selenium.common.exceptions.WebDriverException: Message: Unexpected error 
launching Internet Explorer. IELaunchURL() returned HRESULT 800700C1 ('%1 is 
not a valid Win32 application.') for URL 'http://localhost:58689/'

有什么想法吗?我已经安装了 Iedriver 并将其与上面提到的 test.py 文件一起放在我的桌面上。

你必须在这里考虑几个事实:

  1. 使用 Selenium 3.4.0 下载 IEdriver 并将其与 test.py 文件一起放在桌面上可能不够。理想情况下,我们应该在我们的代码块中传递 IEDriverServer.exe 的绝对路径,以减少手动配置,并能够根据您的要求使用 IEDriverServer.exe 的多个版本,如下所示:

    driver=webdriver.Ie(r'C:\Utility\BrowserDrivers\IEDriverServer.exe')
    
  2. 您看到的错误恰好指出 IEDriverServer.exe 版本、安装的 IE Browser 版本和您的基础 OS 版本不匹配。在这里,您已将 64 bit IEDriverServer.exe 配置为与 32 bit IE browser 一起工作,或者已将 32 bit IEDriverServer.exe 配置为与 64 bit IE browser 一起工作。您可以找到关于错误 HRESULT 800700C1 ('%1 is not a valid Win32 application.') here and here.

  3. 的一些讨论
  4. 如果您使用的是 IE 11,您可以考虑按照 here.

  5. 中提到的规范设置您的测试环境