python - 将Python脚本转换为exe并包含selenium浏览器

标签 python selenium exe

我在转换时遇到问题。 我尝试过: 自动 py 到 exe - gui - 我添加了 chromedriver(1 个文件)||整个文件夹(site-packages\chromedriver_binary) 我创建了 .spec 文件并在那里写入:

a = Analysis(['tk.py'],
binaries=[],
datas=[("chromedriver.exe",".")])

但出现了一些错误:

File "c:\python36_32\lib\site-packages\PyInstaller\building\buildne 782, in build with open(spec, 'r') as f: FileNotFoundError: [Errno 2] No such file or directory: 'tkk.spec'

我在同一个文件夹中有 .spec、chromedriver 和 python 脚本。

当我在 Windows 7 上运行 exe 时,我得到类似的结果: https://gyazo.com/0152ca0998e2e0895ff91c9cfb7db0c2 我不知道如何停止控制台 View 以读取错误

你能告诉我我做错了什么吗?

最佳答案

保留此错误的一种方法是通过命令提示符/终端运行 tk.exe。在 Windows 上,可以通过打开 cmd、将目录更改为 tk.exe 的位置并执行 ./tk.exe 来完成此操作。这将运行可执行文件并保留输出供您查看。

据我所知(尚不清楚),您将得到 FileNotFoundError说“Nie mozna odnalezc okreslonego pliku”,我相信是 The specified file can not be found用英语。在此之下,selenium 引发了一个错误,指出 chromedriver.exe找不到。

从您提供的视频来看,您使用的是onefile模式。如果您对 bundling files with PyInstaller's --onefile 做了一些研究那么你就会知道你需要具体告诉 selenium chromedriver.exe 在哪里。

我自己没有这样做,但我相信这个过程看起来像:

    from selenium import webdriver
    options = webdriver.ChromeOptions()
    options.binary_location = resource_path('.')
    driver = webdriver.Chrome(chrome_options=options)

当然这不是全部,但这告诉 selenium 查看 chromedriver.exe 的脚本临时目录(由于 --onefile)

另外,作为一个简短的说明,您说您使用了 auto-py-to-exe。使用此工具时,它会明确告诉您在添加文件和使用 --onefile 时要考虑这一点。

关于python - 将Python脚本转换为exe并包含selenium浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53629499/

相关文章:

python - 如何在 tensorboard 中显示 Tensorflow 2.0 中的 tf.data.Dataset.map 子图?

Python虚拟环境(venv): Share libraries in usage and dev/test venvs

python - 如何修复机器人框架中的 "Element with locator not found"

python - Selenium 选中的节点文本

python - 如何使用 python 通过 beautifulsoup 检索文本

windows-installer - 确定 MSI/EXE 是否支持某些标志/参数?

c# - 如何在c#中运行exe文件

python - 使用 pandas 将多个 xlsm 文件自动转换为多个 csv 文件

c#,从可执行文件外部的参数打开特定的 Windows 窗体

python - ReadDirectoryChangesW 似乎缺少事件