硒无头Firefox-非常慢

时间:2019-11-12 04:38:48

标签: selenium selenium-webdriver firefox debian geckodriver

我正在尝试使用Selenium获取一些Web数据,以便在Python3脚本中以无头模式运行Firefox。我正在Debian上运行脚本。

该代码可以正常工作,但是非常慢。半分钟即可获取网页标题。我需要在生产环境中使用它,如果速度太慢,它将无法正常工作。我是Selenium的新手,所以这可能是我犯的一个基本错误...

import selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
import time
from decimal import Decimal

start_time = time.time()

fireFoxOptions = webdriver.FirefoxOptions()
fireFoxOptions.set_headless()
browser = webdriver.Firefox(firefox_options=fireFoxOptions)

fetchUrl = "https://www.amazon.com/CakCity-Military-Waterproof-Luminous-Stopwatch/dp/B018HTGSN8/ref=sxin_1_ac_d_rm?ac_md=0-0-d2F0Y2g%3D-ac_d_rm&keywords=watch&pd_rd_i=B018HTGSN8&pd_rd_r=ad451c0c-abfe-4436-bee4-d11f9e1dbb1e&pd_rd_w=J9Zl5&pd_rd_wg=AqMuw&pf_rd_p=ed481207-4bea-4e19-bbad-73ed40fdc292&pf_rd_r=A7B9299YFYD1G0JZ81YH&psc=1&qid=1573502062"

browser.get( fetchUrl )

print ( browser.title )

executionTime = round(time.time() - start_time, 2)
print( "- execution time [" + str( executionTime ) + "]" )

browser.close()

browser.quit()

执行时间从20s到30s

  • Debian 9.4(Stretch)
  • Firefox 70.0.1
  • Geckodriver 0.26.0
  • 硒3.141.0
  • Python 3.5.3

我尝试限制导入的库,但没有任何变化。

我已经测试了几个不同的网站,例如google.com,并且响应时间是相同的。我可以通过任何浏览器在几秒钟内手动加载这些网站,因此我认为无头模式会更快。该脚本不会引发任何错误。

壁虎日志

1573530232430   mozrunner::runner   

INFO    Running command: "/usr/bin/firefox" "-marionette" "-headless" "-foreground" "-no-remote" "-profile" "/tmp/rust_mozprofileKfYEBK"
*** You are running in headless mode.
1573530233337   addons.webextension.screenshots@mozilla.org 

WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1573530233337   

addons.webextension.screenshots@mozilla.org 

WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1573530233338   

addons.webextension.screenshots@mozilla.org 

WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1573530233338   

addons.webextension.screenshots@mozilla.org 

WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1573530237793   Marionette  

INFO    Listening on port 36801
1573530237852   Marionette  

WARN    TLS certificate errors will be ignored for this session
[Parent 1707, Gecko_IOThread] 

WARNING: pipe error: Broken pipe: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 728
1573530254051   

Marionette  

INFO    Stopped listening on port 36801

我对以上列出的所有警告进行了研究,并提出了各种解决方案。

“管道错误”并不总是显示在日志中,似乎是随机的。铬也很不寻常,但我使用的是Firefox ...

即使阅读了权限错误,我也不清楚,有些人说只是忽略它们并不重要。

有什么建议吗?

谢谢

0 个答案:

没有答案