【问题标题】:Running headless Firefox or chrome in DigitalOcean在 DigitalOcean 中运行无头 Firefox 或 chrome
【发布时间】:2019-04-23 07:04:47
【问题描述】:

我正在尝试在 DigitalOcean 中运行无头 Chrome 或 Firefox,并尝试了很多解决方案,但似乎都不起作用。

该代码在我的本地系统中运行良好,但在我的 DigitalOcean 服务器中却不行。

这是我用来测试无头 Firefox 的测试

from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.firefox.options import Options


# print("open virtual display")
with Display():
    print("open Firefox browser")
    browser = webdriver.Firefox()
    browser.set_window_size(1120, 550)

    url = 'http://arbspiper.com/'
    browser.get(url)

    title = browser.title
    print(title)
    browser.quit()

我得到的错误是

Traceback (most recent call last):
    File "firefox.py", line 9, in <module>
      browser = webdriver.Firefox()
    File "/home/arbspiper_project/env/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
keep_alive=True)
    File "/home/arbspiper_project/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
    File "/home/arbspiper_project/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
    File "/home/arbspiper_project/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
    File "/home/arbspiper_project/env/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)

selenium.common.exceptions.WebDriverException: Message: newSession

Mozilla 火狐 64.0 硒版本(3.141.0)

【问题讨论】:

  • 您使用的是什么版本的 geckodriver?您可能需要升级它。 github.com/SeleniumHQ/selenium/issues/6590
  • 我使用的是 v0.18。将其升级到与 Mozilla Firefox 64.0 Selenium 版本 (3.141.0) 兼容的 gekodriver 0.23.0。 --Manoj 你太棒了。非常感谢。
  • 很高兴为您解决了问题!

标签: selenium selenium-webdriver web-scraping selenium-firefoxdriver


【解决方案1】:

来自Manoj Kengudelu的评论的回答。

gekodriver 必须与您使用的其他版本的 Firefox 兼容。 查看supported platforms table here

找到您想使用的 gekodriver 后,您可以下载它,使其可执行并将其添加到路径中。

再次感谢:Manoj Kengudelu

【讨论】:

    猜你喜欢
    • 2014-05-03
    • 2016-07-15
    • 2013-12-22
    • 2019-10-11
    • 2022-08-24
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多