cx_freeze:可执行traceb

2024-04-23 10:44:33 发布

您现在位置:Python中文网/ 问答频道 /正文

由于某些原因,我在运行可执行文件时遇到以下错误:

---------------------------
cx_Freeze: Python error in main script
---------------------------
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
    exec(code, m.__dict__)
  File "splinter1.py", line 8, in <module>
  File "C:\Python34\lib\splinter\browser.py", line 63, in Browser
    return driver(*args, **kwargs)
  File "C:\Python34\lib\splinter\driver\webdriver\firefox.py", line 23, in __init__
    firefox_profile = FirefoxProfile(profile)
  File "C:\Python34\lib\selenium\webdriver\firefox\firefox_profile.py", line 63, in __init__
    WEBDRIVER_PREFERENCES)) as default_prefs:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Admin\\Desktop\\exe.win32-3.4\\library.zip\\selenium\\webdriver\\firefox\\webdriver_prefs.json'

---------------------------
OK   
---------------------------

确实,webdriver_prefs.json在cx\u freeze生成的原始版本中丢失了,但我随后手动将其粘贴到library.zip\selenium\webdriver\firefox中,但仍然得到错误。在

这是我的安装文件:

^{pr2}$

这是我的原稿:

from splinter import Browser
import contextlib
from selenium.webdriver import Remote
from selenium.webdriver.support import wait
from selenium.webdriver.support.expected_conditions import staleness_of
import time

browser = Browser('firefox')

CurrentR = 12345678

browser.visit('somewebsite')

browser.fill("field1","")
browser.fill("field2","")

browser.fill("field3",CurrentR)

#Find submit button and click
browser.find_by_id('btnSubmit').first.click()

#Wait for new page to load
class MyRemote(Remote):
    @contextlib.contextmanager
    def wait_for_page_load(self, timeout=30):
        old_page = self.find_element_by_tag_name('html')
        yield
        wait(self, timeout).until(staleness_of(old_page))

print('finished')

if browser.is_text_present('No Records Selected'):
    print("No records selected")
else:
    print("Some records exist")


time.sleep(120)

Tags: infrompyimportbrowserlibseleniumline