我正在使用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文件而遇到问题,但这并没有帮助我解决问题。
有谁知道我该如何手动提供丢失的文件?我将非常感谢其他人可以提供的任何帮助。
我找到了一个解决方案,并想在其他人遇到类似问题的情况下将其发布。我发现丢失的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创建,并且能够按预期运行已编译的代码。上帝保佑女王。