【发布时间】: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