1

我创建了一个 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 文件一起放在我的桌面上。

4

1 回答 1

2

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

  1. 下载IEdriverSelenium 3.4.0并将其与 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.')

  3. 如果您使用的是 IE 11,您可以考虑按照此处提到的规范设置您的测试环境。

于 2017-08-09T05:53:49.297 回答