【问题标题】:Internet Explorer NOT working in headless mode with Selenium [Using headless_ie_selenium]Internet Explorer 不能在 Selenium 的无头模式下工作 [使用 headless_ie_selenium]
【发布时间】:2021-04-29 16:50:42
【问题描述】:

我知道 IE 不支持无头。但是有一种解决方法是在 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/'

【问题讨论】:

  • 这个解决方案有帮助吗stackoverflow.com/questions/51165929/…
  • 你需要configure these things才能使用IE驱动。请一一检查并按照文档中的说明进行操作。此外,您应该在路径中使用双反斜杠,例如 browser = webdriver.Ie('C:\\IEDriverServer_Win32_3.150.1\\headless_ie_selenium.exe'),并且 url 应该使用像 browser.get('https://www.someurl.com') 这样的协议。
  • @C.Peck 让我尝试设置“introduce_flakiness_by_ignoring_security_domains”。这似乎是调用 IE 的 API 的问题,微软没有说明为什么会发生这种情况。

标签: python selenium internet-explorer browser


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    • 2019-04-23
    • 2022-10-06
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多