[英]Python selenium webdriverprefs.json not found py2exe
我有一个使用硒包的python(34)脚本,使用py2exe创建exe时出现以下错误
找不到webdriver_prefs.json
我找到了以下解决方案,但没有得到:
将脚本冻结为exe时不使用--onefile,而是使用--onedir,它将为所有文件生成一个文件夹,然后将路径c:\\ python27 \\ lib \\ site-packages \\ selenium中的selenium文件夹复制到您的应用程序文件夹中它可以正常工作
这是我的setup.py
from distutils.core import setup
import py2exe
data_filesR = [('selenium/webdriver/firefox', ['C:/Python34/Lib/site-packages/selenium/webdriver/firefox/webdriver.xpi','C:/Python34/Lib/site-packages/selenium/webdriver/firefox/webdriver_prefs.json'])]
setup(
name='Test',
version='1.0',
description='General description of app',
author='author name',
author_email='author email',
url='',
console = ['firefox.py'],
data_files=data_filesR,
options={
'py2exe':
{
"skip_archive": True,
"unbuffered": True,
'optimize': 2,
}
},
requires=['selenium'],
)
我遇到并解决了类似的问题:
修改C:\\ Python27 \\ Lib \\ site-packages \\ selenium \\ webdriver \\ firefox \\ firefox_profile.py:
将“ os.path.join(os.path.dirname(file)”)更改为->“ os.path.join(os.path.dirname(file),'.. \\ .. \\ .. \\ .. \\\\' ”,有两个地方。
以下工作。
编辑firefox_profile.py
:WEBDRIVER_EXT,WEBDRIVER_PREFERENCES:
if getattr(sys, 'frozen', False):
WEBDRIVER_EXT = os.path.join(os.path.dirname(sys.executable), "webdriver.xpi")
WEBDRIVER_PREFERENCES = os.path.join(os.path.dirname(sys.executable), "webdriver_prefs.json")
elif __file__:
WEBDRIVER_EXT = os.path.join(os.path.dirname(__file__), "webdriver.xpi")
WEBDRIVER_PREFERENCES = os.path.join(os.path.dirname(__file__), "webdriver_prefs.json")
转到with open(...
的行with open(...
并替换with open(WEBDRIVER_PREFERENCES) as default_prefs
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.