当前位置: 首页 > 面试题库 >

如何在pyinstaller中包含chromedriver?

巢皓君
2023-03-14
问题内容

我正在使用pyinstaller创建我的python脚本的可执行文件。
在脚本中,我使用了以下导入:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
etc...

问题是,运行时pyinstaller myscript.py,它将导致包括Firefox而不是Chrome。在结果文件夹c:… \ dist \
myscript \ selenium \
webdriver中,有一个firefox文件夹,因此它只是跳过了chromedriver,这对我来说是个严重的问题,因为脚本需要与Chrome一起运行。
围绕此主题只有几个问题,但没有答案可以解决。
我正在考虑将--hidden-import MODULENAME标记添加到命令中,但是chromedriver.exe不是模块…谢谢


问题答案:

它应该作为二进制文件添加为二进制文件,因为它是二进制文件…
因此需要一个自定义的规范文件,其中应定义本地系统上chromedriver的路径以及相对于dist \ myscript的所需位置,因此看起来像这样:

.....
a = Analysis(['myscript.py'],
             pathex=['path\\to\\my\\script'],
             binaries=[ ('path\\to\\my\\chromedriver.exe', '.\\selenium\\webdriver') ],
             datas=None,
....

然后使用以下规范文件运行pyinstaller: pyinstaller myscript.spec myscript.py



 类似资料:
  • 我还使用tkinter用Python3.7编写了一个程序。因为我使用的是外部图片,所以当我将所有内容编译成一个exe时,我需要包含它们。我尝试过执行,但仍然出现以下错误: _特金特。Tcl错误:无法打开“files/bg.png”:没有这样的文件或目录 代码如下: 我做错了什么?我也尝试过添加二进制文件,将该文件添加到我的spec文件中。我真的搞不懂!

  • 我用python编写了代码,打开了一个模板excel文件。每天午夜,它都会将模板复制到一个新的excel文件中,代码会在其中记录当天的数据。我的目标是使用pyinstaller创建一个包含我的代码和模板excel文件的可执行文件。 基本上,我希望能够打开模板excel文件,不管计算机是否包含该文件,通过捆绑excel文件到从pyInster获得的exe文件: 现在我打开excel文件,如下所示:

  • 问题内容: Pyinstaller的所有文档都讨论了如何包含单个文件。是否可以包含目录,还是应该编写一个函数来遍历我的包含目录来创建包含数组? 问题答案: 令我惊讶的是,没有人使用以下方式提及官方支持的选项: http://codingdict.com/questions/165642 https://pythonhosted.org/PyInstaller/advanced-topics.htm

  • 问题内容: 我正在编写一个网络自动化程序,到目前为止,使用Selenium的FirefoxDriver可以正常工作。但是,如果未安装Firefox,我想使其使用Chrome。我下载了ChromeDriver,将其放在Eclipse项目的文件夹中,然后运行它。在我添加之后,它运行良好。但是,当我尝试导出它时(使用Eclipse的标准Export)。我相信它会崩溃,因为它找不到ChromeDriver

  • 尝试转换多个时。使用py2exe将文件复制到exe文件中我得到错误:回溯(最近一次调用上次):文件“ParentWindow.py”,第7行,in 提到的“FileAnalysers1”是包含. py脚本的python包。如何在exe中包含整个包?

  • 如果任何人有一个解决办法,或者可以指出我应该读什么的方向,以进一步理解这一点,这将是非常感谢的。 参见下面的cmakelists.txt