簡體   English   中英

使用帶有 Python 的 Selenium Webdriver 在 Headless chrome 瀏覽器上運行腳本時發生超時錯誤

[英]Timeout Error occurred When run a script on Headless chrome browser by using Selenium Webdriver with Python

當我運行Python腳本,以測試無頭的Chrome Broswer網站(webdriver的+硒),我們經常收到超時錯誤,我發現當腳本的瀏覽器通過互動出現問題.click().send_keys()方法。 誰能知道這是什么類型的問題? 有時它工作正常,但有時我會遇到超時錯誤。 請給出相同的解決方案

堆棧跟蹤:

 15:01:48,194 root:ERROR: ERROR occurred: Message: timeout
   (Session info: headless chrome=60.0.3112.101)
   (Driver info: chromedriver=2.31.488763 
   (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT 6.1.7601 SP1 
    x86)

    Traceback (most recent call last):
  File "c:\autotest\x.py", line 148, in main
    func(nik)
  File "c:\autotest\lib\support.py", line 126, in wrapper
    raise ret
  File "c:\autotest\lib\support.py", line 113, in newFunc
    res[0] = func(*args, **kwargs)
  File "c:\autotest\testcases\1001.py", line 15, in testcase
    "documents_approved ASC", generateError=True)  
  File "c:\autotest\lib\support.py", line 51, in wrapper
    f_result = func(*args, **kwds)
  File "c:\autotest\pageobjects\web\segment_header.py", line 184, in login
    + Keys.ENTER)
  File "C:\Python36\lib\site-packages\selenium\webdriver\remote\webelement.py", line 350, in send_keys
    'value': keys_to_typing(value)})
  File "C:\Python36\lib\site-packages\selenium\webdriver\remote\webelement.py", line 499, in _execute
    return self._parent.execute(command, params)
  File "C:\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 297, in execute
    self.error_handler.check_response(response)
  File "C:\Python36\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout
  (Session info: headless chrome=60.0.3112.101)
  (Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT 6.1.7601 SP1 
    x86) 

我遇到了類似的問題,普通的 Chrome 驅動程序工作正常,但無頭 chrome 總是超時。

我發現對於響應式網頁,您需要設置窗口大小:

driver.set_window_size(1200, 600)

它在驅動程序本身初始化后添加此行后工作。

我希望這會有所幫助!

我遇到了同樣的問題,並且能夠在更新我的 chromedriver 並將chrome_options.add_argument("--window-size=1920,1080")到 chrome 選項后解決它。 我目前應用的選項是:

chrome_options = Options()  
chrome_options.add_argument("--headless") 
chrome_options.add_argument("--window-size=1920,1080")
chrome_options.add_argument('--start-maximized')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument('disable-infobars')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM