[英]Firefox selenium driver fails in headless mode where chrome works due to timeout exception
[英]Selenium Firefox Python running in headless mode Timeout on initializing driver
所以目前一切都在非无头模式下工作。 但我需要在无 GUI 的 linux 服务器中运行这个 python 脚本(因此需要无头模式)。 出于某种原因,我所有无头运行的尝试都会导致 selenium web 驱动程序在初始化时超时。
from selenium import webdriver
geckoDriverFilepath = path + "geckodriver24_32.exe"
opts = webdriver.FirefoxOptions()
opts.add_argument("--headless")
opts.add_argument("--width=2560")
opts.add_argument("--height=1440")
#initialize driver (breaks/timeouts here)
driver = webdriver.Firefox(options=opts,executable_path=geckoDriverFilepath)
以下是回溯:
文件“c:\Users\xUser\Desktop\BOMWebService\Backend\code\FirefoxStarter.py”,第 51 行,在 StartFirefox 驱动程序 = webdriver.Firefox(options=opts,executable_path=geckoDriverFilepath)
文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\firefox\webdriver.py”,第 174 行,在init keep_alive=True)
文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 157 行,在init self.start_session(capabilities, browser_profile)
文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 252 行,在 start_session 响应 = self.execute(Command.NEW_SESSION,参数)
文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 321 行,执行 self.error_handler.check_response(response)
文件“C:\Users\xUser\Desktop\BOMWebService\Backend\virEnvBOMBackend\lib\site-packages\selenium\webdriver\remote\errorhandler.py”,第 242 行,在 check_response 中引发 exception_class(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.WebDriverException:消息:超时
任何指针将不胜感激。 谢谢!
此错误消息...
selenium.common.exceptions.WebDriverException: Message: timed out
...意味着GeckoDriver无法启动/生成新的WebBrowser ,即Firefox 浏览器session。
您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:
因此Selenium Client v3.141.0 、 GeckoDriver v0.24.0和Firefox Browser v60.9.0esr之间存在明显的不匹配
Test
。tearDown(){}
方法中调用driver.quit()
以优雅地关闭和销毁WebDriver和Web 客户端实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.