Internet Explorer 无法在无头模式下使用 Selenium [使用 headless_ie_selenium]

Internet Explorer NOT working in headless mode with Selenium [Using headless_ie_selenium]

我知道 IE 不支持 headless。但是有一个解决方法,即在 Windows 上使用虚拟桌面来完成它。这就是 https://github.com/kybu/headless-selenium-for-win 正在做的事情,但我似乎 运行 陷入了这里的一个问题。

我的IEDriverServer.exe加入了$PATH$,headless_ie_selenium.exe也和IEDriverServer.exe

在同一个目录

我正在尝试这样使用它:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Ie('C:\IEDriverServer_Win32_3.150.1\headless_ie_selenium.exe')

browser.get('www.someurl.com')

我在下面粘贴回溯

Traceback (most recent call last):
  File "C:\Users\hjind\Desktop\pythonRCM\headless_ie.py", line 16, in <module>
    browser = webdriver.Ie('C:\IEDriverServer_Win32_3.150.1\headless_ie_selenium.exe')
  File "C:\Users\hjind\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium-3.141.0-py3.9.egg\selenium\webdriver\ie\webdriver.py", line 93, in __init__
    RemoteWebDriver.__init__(
  File "C:\Users\hjind\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium-3.141.0-py3.9.egg\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\hjind\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium-3.141.0-py3.9.egg\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\hjind\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium-3.141.0-py3.9.egg\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\hjind\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium-3.141.0-py3.9.egg\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Unexpected error launching Internet Explorer. IELaunchURL() returned HRESULT 80070012 ('There are no more files.') for URL 'http://localhost:57762/'

唯一对我有用的是在启动时以编程方式最小化 IE window,并在作业运行时切换到另一个虚拟桌面。

设置 introduce_flakiness_by_ignoring_security_domains 有助于绕过“保护模式”和“缩放级别”错误。