【发布时间】: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