前提・実現したいこと
スクレイピングのプログラムをPyinstallerでchoromedriverを同梱した状態でexe化したいです。
exe化自体は出来ましたが、chromedriverの同梱(内包)ができません。
chromedriverがないPCでも、exeファイルだけで起動できるようにしたいのですが、
方法がわかりませんでした。
そもそもPyinstallerの--add-binary というのは、同梱できる という意味でしょうか?
発生している問題・エラーメッセージ
exe化したファイルを実行しようとすると、chromedriverが無いというエラー。
(chormedriverがあれば実行できます)
なので、exe化は出来ているけどchromedriverは同梱できていない状態?
エラーメッセージ Traceback (most recent call last): File "selenium\webdriver\common\service.py", line 72, in start File "subprocess.py", line 951, in __init__ File "subprocess.py", line 1420, in _execute_child FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "selenium_chrome.py", line 14, in <module> File "selenium\webdriver\chrome\webdriver.py", line 73, in __init__ File "selenium\webdriver\common\service.py", line 81, in start selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
###フォルダ構造
selenium_test.pyと同階層にdriveフォルダ。その中にchromedriver.exe
####pyinstaller実行時のコマンド
pyinstaller ./selenium_test.py --onefile --noconsole --add-binary ./drive/chromedriver.exe;.
該当のソースコード
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.action_chains import ActionChains from pathlib import Path driver = webdriver.Chrome() driver.get("https://www.google.co.jp/imghp?hl=ja&ogbl") text_box = driver.find_element_by_name("q") text_box.send_keys("検索ワード") text_box.send_keys(Keys.ENTER)
試したこと
ライブラリのアップデート、 chromeとchromedriverのバージョン確認
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/11/05 05:15