繁体   English   中英

找不到python selenium webdriverprefs.json py2exe

[英]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'],
)

我遇到并解决了类似的问题:

  1. 将webdriver.xpi和webdriver_prefs.json复制到您的exe目录中。
  2. 修改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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM