提问人:Kero 提问时间:12/31/2021 最后编辑:Kero 更新时间:1/1/2022 访问量:300
PyInstaller .spec 文件未按预期创建 Chrome Webdriver 二进制文件
PyInstaller .spec file not creating Chrome Webdriver binary as expected
问:
我正在尝试创建 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
只是一个带有 FF webdriver 和 .xpi 文件的 Firefox 文件夹(我不使用并且从未在我的任何代码中提到过一次),以及包含“getAttribute.js”和“isDisplayed.js”的“remote”文件夹。
我显然已经尝试运行可执行文件,在需要 webdriver 之前都很好,此时它会抛出 -
AttributeError: module 'selenium.webdriver' has no attribute 'Chrome'
我怎样才能让它工作?我见过几个类似的问题,但没有一个对我有帮助。 我是 PyInstaller 的新手,以前从未创建过这样的二进制文件。我错过了什么?
答:
0赞
undetected Selenium
1/1/2022
#1
看看文档,可能不是 ChromeDriver 的绝对路径,二进制
参数应该采用浏览器可执行文件的绝对路径,例如 chrome
、firefox
等。
评论