【问题标题】:Code runs fine in pycharm, but when converted to exe it does not代码在pycharm中运行良好,但转换为exe时却不行
【发布时间】:2019-11-17 12:45:09
【问题描述】:

基本上我的代码在 Pycharm 中运行良好,但是当我使用 Pyinstaller 将其转换为 exe 时,它​​不起作用并出现错误。

我尝试了一些更改,但所有尝试都失败了。

硒.py

from selenium import webdriver
import ctypes
from webdriver_manager.firefox import GeckoDriverManager

#driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())

user32 = ctypes.windll.user32
width = user32.GetSystemMetrics(0) # 2560 mine for example
height = user32.GetSystemMetrics(1) # 1440 mine for example

wT = width / 3
hT = height / 2
wB = width / 2
answer = height / 36
hB = (height / 2) - answer

wPa = width / 3
wPa2 = wPa * 2

hPa = height / 2
wPa3 = width / 2


def Window1():
    driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
    driver.get("https://www.google.co.uk/")
    driver.set_window_size(wT, hT)
    driver.set_window_position(0, 0)
    driver.switch_to.window(driver.window_handles[0])
if __name__ == '__main__':
    Window1()

运行.py

import threading
import Selenium
import time

t1 = threading.Thread(target=Selenium.Window1)

t1.start()
time.sleep(2)

^这是我的代码的精简版本,我的打开 5 个窗口而不是 1 个,但这只是我正在做什么/如何线程化它的示例。希望这就足够了。

这是我尝试运行 exe 时遇到的错误:

【问题讨论】:

  • 你系统上Firefox的二进制驱动的路径是什么?
  • 你是指 geckodriver.exe 还是 firefox.exe 路径?

标签: python selenium pyinstaller webdriver-manager


【解决方案1】:

PyInstaller 似乎无法解析webdriver_manager。所以你只需要将整个库添加为带有add-data的数据文件:

pyinstaller -F --add-data ".\env\Lib\site-packages\webdriver_manager;webdriver_manager" script.py

记得用正确的路径替换webdriver_manager

【讨论】:

  • 我看过添加一个数据文件,但我的大脑已经停止工作,例如,我将在哪里/如何添加它?
  • 修复了哈哈!只需要对我的路径进行排序就可以了。谢谢!
猜你喜欢
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-10
  • 1970-01-01
  • 1970-01-01
  • 2021-07-17
相关资源
最近更新 更多