![](/img/trans.png)
[英]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.