概要
当方、経理事務をしており、WebベースのシステムにCSVのデータを転記するRPAの
ようなものをpythonで作成しており、これをpyinstallerで同僚に配布を行おうとしています。
コードを直接実行するとうまく動作し、exe化にも成功するのですが、作成されたexeファイルを
起動させると途中で動作が止まります。
どうやらWebdriver managerを動作させる際にエラーが発生していることは分かったのですが、
どのように対応したらよいかがわかりませんのでアドバイスをお願いします。
エラーコード
pyinstallerにdebug --allオプションをつけて確認したエラーは以下のとおりです。
Traceback (most recent call last):
File "xxxx.py", line 269, in <module>
File "C:\Users\xxxx\AppData\Roaming\Python\Python37\site-packages\webdriver_manager\microsoft.py", line 50, in init
super().init(path, log_level, print_first_line, cache_valid_range)
File "C:\Users\xxxx\AppData\Roaming\Python\Python37\site-packages\webdriver_manager\manager.py", line 13, in init
log("====== WebDriver manager ======", level=log_level)
File "C:\Users\xxxx\AppData\Roaming\Python\Python37\site-packages\webdriver_manager\logger.py", line 25, in log
_init_logger(level, name, first_line, formatter)
File "C:\Users\xxxx\AppData\Roaming\Python\Python37\site-packages\webdriver_manager\logger.py", line 19, in _init_logger
logger.setLevel(level)
File "c:\users\xxxx\appdata\local\programs\python\python37\lib\logging_init.py", line 1353, in setLevel
self.level = checkLevel(level)
File "c:\users\xxxx\appdata\local\programs\python\python37\lib\logging_init.py", line 195, in _checkLevel
raise TypeError("Level not an integer or a valid string: %r" % level)
TypeError: Level not an integer or a valid string: None
[8764] Failed to execute script '14RPAHeadless' due to unhandled exception!
pythonコード
exe化したコード(xxxx.py)は以下のとおりです。(インポートしたライブラリと該当と思われる個所を
抜粋しています。)OSはWin10,PythonはPython3.10(64bit),pyinstallerは4.7,webdriver-managerは3.5.2を
使用しています。
8 from selenium import webdriver
9 from msedge.selenium_tools import Edge, EdgeOptions
10 from webdriver_manager.microsoft import EdgeChromiumDriverManager
11 from selenium.webdriver.common.keys import Keys
12 import time
13 import gc
14 import openpyxl
15 import pyautogui
16 import tkinter as tk
17 import tkinter.filedialog
18 import os
19 import sys
-中略-
258 dir ="c:"
259 root =tkinter.Tk()
260 root.withdraw()
261 fld =tk.filedialog.askopenfilename(filetypes = [("エクセル旧",".xls"),("エクセル新",".xlsx"),("エクセルマクロ","*.xlsm")],initialdir =dir)
262 root.destroy()
263 workbook = openpyxl.load_workbook(fld)
265 options = EdgeOptions()
266 options.use_chromium = True
267 options.add_argument('--headless')
268 options.add_argument('--window-size=1920,1080')
269 driver = Edge(EdgeChromiumDriverManager().install(),options=options)
270 driver.get(
'https://site1.sbisec.co.jp/ETGate/?_ControlID=WPLEThmR001Control&_PageID=DefaultPID&_DataStoreID=DSWPLEThmR001Control&_ActionID=DefaultAID&getFlg=on')
現状の対応
ライブラリに手を付けないと何ともなりそうにない気がしてエラー対応として何もできていない状況です。
あなたの回答
tips
プレビュー