将Python脚本转换为exe并包括硒浏览器

时间:2018-12-05 09:55:09

标签: python selenium exe

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

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

但是出现了一些错误:

  

文件“ c:\ python36_32 \ lib \ site-packages \ PyInstaller \ building \ buildne   782,在使用open(spec,'r')作为f的版本中:FileNotFoundError:[Errno 2]   没有这样的文件或目录:'tkk.spec'

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

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

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

1 个答案:

答案 0 :(得分:0)

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

据我所知(尚不清楚),您正在得到FileNotFoundError的一句话,“ Nie mozna odnalezc okreslonego pliku”,我相信它的英文为The specified file can not be found。在此之下,硒引发了一个错误,指出找不到chromedriver.exe

看您提供的视频,好像您使用了一个文件模式。如果您对bundling files with PyInstaller's --onefile做过一些研究,那么您会知道您需要特别告诉硒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时明确考虑到这一点。