【问题标题】:PyInstaller .spec file not creating Chrome Webdriver binary as expectedPyInstaller .spec 文件未按预期创建 Chrome Webdriver 二进制文件
【发布时间】:2021-12-31 14:33:13
【问题描述】:

我正在尝试创建 Chrome 网络驱动程序二进制文件以捆绑到我的可执行文件中,但 .spec 文件没有按照我的要求执行..

我的项目代码有以下-

from selenium import webdriver
driver = webdriver.Chrome("/Users/me/.wdm/drivers/chromedriver/mac64/96.0.4664.45/chromedriver")

这是正确的,当我在 IDLE 中运行时一切正常。

这是 PyInstaller 的“project.spec”文件的相关部分 -

a = Analysis(['project.py'],
             pathex=['/Users/me/Desktop/project'],
             binaries=[('/Users/me/.wdm/drivers/chromedriver/mac64/96.0.4664.45/chromedriver', './selenium/webdriver')],
             datas=[],

selenium 和 webdriver 文件夹在 dist 中正确构建 -
/dist/project/selenium/webdriver

但在这里我有两个文件夹,它们都不包含 Chrome 网络驱动程序 -
/firefox
/remote

只是一个用于 Firefox 的文件夹(我在我的任何代码中都没有使用过,也从未提到过一次),其中包含 FF 网络驱动程序和一个 .xpi 文件,以及包含“getAttribute.js”的“远程”文件夹和“isDisplayed.js”。

我显然已经尝试过运行可执行文件,在需要 webdriver 之前一切正常,此时它会抛出 -

AttributeError: module 'selenium.webdriver' has no attribute 'Chrome'

我怎样才能让它工作?我见过几个类似的问题,但没有一个对我有帮助。 我是 PyInstaller 的新手,以前从未创建过这样的二进制文件。我错过了什么?

【问题讨论】:

    标签: python selenium selenium-webdriver pyinstaller chrome-web-driver


    【解决方案1】:

    查看文档,absolute pathChromeDriver 可能应该采用 binaries 参数Browser 可执行文件的绝对路径,例如chromefirefox

    【讨论】:

      猜你喜欢
      • 2012-07-15
      • 2021-10-07
      • 2016-12-14
      • 2020-04-22
      • 2013-03-24
      • 2010-12-07
      • 1970-01-01
      • 2020-08-03
      • 2017-12-24
      相关资源
      最近更新 更多