Python 无头ie驱动程序启动Internet Explorer时出现意外错误。IELaunchURL()返回的HRESULT 80070012(';没有更多文件。';)

Python 无头ie驱动程序启动Internet Explorer时出现意外错误。IELaunchURL()返回的HRESULT 80070012(';没有更多文件。';),python,selenium,selenium-webdriver,headless,headless-browser,Python,Selenium,Selenium Webdriver,Headless,Headless Browser,我正在尝试运行一个简单的无头web浏览器 from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Ie("headless_ie_selenium.exe") driver.get("www.google.com") print(driver.title) 我得到: selenium.common.exceptions.SessionNotCreatedE

我正在尝试运行一个简单的无头web浏览器

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Ie("headless_ie_selenium.exe")
driver.get("www.google.com")
print(driver.title)
我得到:

selenium.common.exceptions.SessionNotCreatedException: Message: Unexpected error launching Internet Explorer. IELaunchURL() returned HRESULT 80070012 ('There are no more files.') for URL 'http://localhost:65393/'
我尝试过但没有成功的:

1:

2:所有Internet选项安全设置处于同一级别,并且都已选中启用保护模式

3:搜索了要删除的C:\Program文件夹,但什么也没有

注意事项:同样的代码适用于普通的webdriver(IEDriverServer.exe),当我手动打开无头ie_Seleniu.exe时,它会启动:

Selenium driver found at: path..\IEDriverServer.exe
Started InternetExplorerDriver server (32-bit)
3.8.0.0

您看到的错误说明了一切:

selenium.common.exceptions.SessionNotCreatedException: Message: Unexpected error launching Internet Explorer. IELaunchURL() returned HRESULT 80070012 ('There are no more files.') for URL 'http://localhost:65393/'
如果您访问《发行说明》,它会清楚地提到以下内容:

  • 支持Firefox和Chrome
  • Windows资源管理器不再在无头桌面中启动
  • desktop_utils.exe已学会在创建无头桌面后不运行explorer.exe
因此,Internet Explorer不能用headless_ie_seeniu.exe初始化


更新: 根据您的评论
是否有其他方法可以打开IE并通过selenium在后台通过鼠标/键盘输入运行它
直接的
答案是

@Github线程中的JimEvans清楚地提到:

IE驱动程序不支持在未运行活动的登录桌面会话的情况下执行。您需要向解决方案的作者了解这一点,您正在使用该解决方案来实现IE的“无头”(恐吓引语)执行。

他还补充说:

如果没有活动会话,鼠标和键盘模拟将无法工作。这是浏览器限制,而不是驱动程序限制。


那么,有没有其他方法可以打开IE并通过selenium在后台使用鼠标/键盘输入来运行它呢?
selenium.common.exceptions.SessionNotCreatedException: Message: Unexpected error launching Internet Explorer. IELaunchURL() returned HRESULT 80070012 ('There are no more files.') for URL 'http://localhost:65393/'