当前位置: 首页 > 面试题库 >

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

阎经武
2023-03-14
问题内容

我正在使用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创建,并且能够按预期运行已编译的代码。上帝保佑女王。



 类似资料:
  • 我的构建输出是out/production/classes。Java文件可以很好地编译成类,然后放在out/production/classes/packageName上,但资源不会被复制。据我所知,他们应该直接进入out/production/classes目录。 如果相关的话,我使用的是Java 11、Spring Boot和Gradle。这是我的构建。渐变 和我的编译器设置: 我的资源没有被

  • 我有一个根梯度项目,由两个子项目组成: js frontend,由名为的wepback绑定 名为的Java Spring后端 null 下面是目录结构:

  • 我正在使用CodeBuild来构建Scala sbt项目。在构建过程中,我将执行以下步骤。 来自Git的签出代码。 安装所有sbt工具。 构建代码。 创建Docker 发布docker文件到AWSECR 使用kustomize实用程序更新位于项目根文件夹中的K8s部署文件,其中包含已发布图像的最新信息。 将此文件发布到AWS S3存储桶,以便在AWS EKS上运行进一步部署。 不幸的是,最后一步失

  • 我有一个多项目gradle项目(spring web),布局如下: 当我尝试执行src/test/resources(init.sql)下的内容时 我用gradle构建执行它: 从输出中我了解到sourceSets和我预期的一样,但是测试资源没有被复制。怎么啦?

  • 我有一些hazelcast http会话复制特性的问题。 我有些问题: 在同一个tomcat集群中有没有可能有hazelcast封装的应用程序和非hazelcast封装的应用程序? 带有hazelcast的应用程序应该是可分发的?(通过像其他方法一样添加它的web.xml) 部署应用程序的Tomcat不应该在集群中?是否可以在同一tomcat中使用标准tomcat会话复制将其他应用程序群集化? 编

  • 我似乎不明白为什么JitPack无法构建我的库,当我检查构建日志时,我发现了以下错误和警告: 我试图通过遵循这个StackOverflow答案中的建议来解决Java版本错误,但它没有起到任何作用。 我做错了什么?我如何修复它?