我创建了一个可以执行的 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 文件一起放在桌面上。
最佳答案
您必须在这里考虑几个事实:
使用
Selenium 3.4.0
时下载 IEdriver 并将其与 test.py 文件一起放在桌面上可能还不够。理想情况下,我们应该传递IEDriverServer.exe
的绝对路径在我们的代码块中,以减少手动配置并能够使用IEDriverServer.exe
的多个版本根据您的要求如下:driver=webdriver.Ie(r'C:\Utility\BrowserDrivers\IEDriverServer.exe')
您看到的错误准确地指出
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和here .如果您使用 IE 11,您可以考虑按照提到的规范 here 设置您的测试环境。 .
关于python - 设置 selenium 以与 Internet Explorer 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45571476/