Firefox二进制问题部署Python脚本到Heroku服务器



我正在部署一个Python脚本到Heroku。Python脚本包括一个使用Firefox的Selenium脚本。下面是代码片段:

def runFirefoxSelenium():
options = FirefoxOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
binary = './bin/Firefox.app/Contents/MacOS/firefox-bin'
options.binary_location = binary
driver = webdriver.Firefox(options=options)
...

在根目录下,我创建了一个名为bin的文件夹,并将Firefox应用程序转储到bin中。

当我在本地(MacOS)运行脚本时,它工作得很好。它能够在Firefox中找到Firefox二进制文件。应用程序目录中。

但是,当我将它上传到Heroku服务器时,我得到以下错误:

selenium.common.exceptions.InvalidArgumentException: Message: binary is not a Firefox executable

我尝试了一些变化,我只把firefox二进制文件(称为"firefox-bin")放在bin文件夹中,但这甚至在本地也不起作用。

你建议我如何解决这个问题?

您可以使用SeleniumBase驱动程序管理器来解决这个问题:

from seleniumbase import Driver
driver = Driver(browser="firefox", headless=False)

(如果在无头服务器上运行,请确保使用headless=True代替)

对于其他SeleniumBase语法格式,您可以使用pytest命令行选项将浏览器设置为Firefox:pytest --firefox.

相关内容

  • 没有找到相关文章

最新更新