小编典典

Py2exe不会将webdriver_prefs.json复制到构建中

python

我正在使用py2exe编译使用Selenium 2.39.0的Python
2.7脚本,以打开Firefox窗口并执行一些例程。过去,我能够毫无问题地编译代码。但是,今天,从Selenium
2.35更新到2.39之后,我遇到了麻烦。当我尝试运行由编译后的代码生成的.exe时,出现以下错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "Tkinter.pyo", line 1410, in __call__
  File "literatureonlineapi2.5.5.py", line 321, in startapi
  File "selenium\webdriver\firefox\webdriver.pyo", line 43, in __init__
  File "selenium\webdriver\firefox\firefox_profile.pyo", line 58, in __init__
IOError: [Errno 2] No such file or directory: 'C:\\Text\\Professional\\Digital H
umanities\\Programming Languages\\Python\\Query Literature Online\\LION 1.0\\2.5
\\2.5.5\\dist\\.\\selenium\\webdriver\\firefox\\webdriver_prefs.json'
Here we go!
Exception in Tkinter callback
Traceback (most recent call last):
  File "Tkinter.pyo", line 1410, in __call__
  File "literatureonlineapi2.5.5.py", line 321, in startapi
  File "selenium\webdriver\firefox\webdriver.pyo", line 43, in __init__
  File "selenium\webdriver\firefox\firefox_profile.pyo", line 58, in __init__
IOError: [Errno 2] No such file or directory: 'C:\\Text\\Professional\\Digital H
umanities\\Programming Languages\\Python\\Query Literature Online\\LION 1.0\\2.5
\\2.5.5\\dist\\.\\selenium\\webdriver\\firefox\\webdriver_prefs.json'

(当我运行未编译的代码时,不会出现此错误。)

我遇到了一个Google代码页,使我相信较新版本的Selenium会因缺少这个webdriver_prefs.json文件而遇到问题,但这并没有帮助我解决问题。

有谁知道我该如何手动提供丢失的文件?我将非常感谢其他人可以提供的任何帮助。


阅读 224

收藏
2021-01-20

共1个答案

小编典典

我找到了一个解决方案,并想在其他人遇到类似问题的情况下将其发布。我发现丢失的webdriver_prefs.json文件隐藏在

C:\ Python27 \ Lib \ site-packages \ selenium-2.39.0-py2.7.egg \ selenium \
webdriver \ firefox \

导航到该目录后,我抓住了webdriver_prefs.json文件和webdriver.xpi文件。然后,我将两个文件都复制到

dist \ selenium \ webdriver \ firefox \

由py2exe创建,并且能够按预期运行已编译的代码。上帝保佑女王。

2021-01-20