Python & Selenium のプログラムを実行形式(.exe)化する(webdriverも.exeに含める方法)
Python & Seleniumで作成したプログラムを実行形式(.exe)にします。 特に今回は一つのexeフ …
公開日:
Python で Selenium を使ったプログラムを PyInstaller で実行ファイル化する自分用まとめです。
Chromium(ブラウザ)と ChromeDriver(ドライバ) も一緒にバンドルします。
Selenium を使うときに必要となるブラウザとそれに対応するドライバをダウンロードします。
今回は Chromium と ChromeDriver です。
このページから Chromium とそのバージョンに対応した ChromeDriver をダウンロードします(ChromeDriver はこちらからもダウンロードできます)。
ダウンロードしてきたものをそれぞれフォルダを分けて配置します。
Chromium は browser
フォルダに ChromeDriver は driver
フォルダに配置しました。
パスを取得するための関数を作成します。これを使ってブラウザとドライバのパスを取得するようにします。
def resource_path(relative_path):
try:
base_path = sys._MEIPASS
except Exception:
base_path = os.path.dirname(__file__)
return os.path.join(base_path, relative_path)
以下のようにブラウザとドライバを指定します。
# ブラウザ
browser_path = resource_path('browser/chrome.exe')
# ドライバ
driver_path = resource_path('driver/chromedriver.exe')
options = webdriver.ChromeOptions()
options.binary_location = browser_path
driver = webdriver.Chrome(driver_path, options=options)
PyInstaller の--add-binary
オプションを使用してブラウザとドライバも一緒にバンドルします。
pyinstaller ./main.py --onefile --noconsole --add-binary "./driver/chromedriver.exe;./driver" --add-binary "./browser;./browser"
以上です。
Python & Seleniumで作成したプログラムを実行形式(.exe)にします。 特に今回は一つのexeフ …
Python Selenium を実行すると ChromeDriver のコンソールウィンドウが表示されてしまいます。 …
PyInstallerを使えば簡単にexeを作成できますが、1つのフォルダに複数のexeを作るにはどうすればよいのか分か …
selenium の読み込みスピードを速くするために、広告などの邪魔なjsをブロックしたいと思いました。 …
pythonで作ったプログラムを実行ファイル(.exe)に変換するのには、PyInstallerが使えます。 他にも実行 …
Ajaxなんかで動的に変化するページの場合は、ページが変更完了するまで待ちたい場合があります。 そういうときは特定の条件 …
Pythonでフォントをサブセット化(使う文字だけを抽出して軽量化)する方法を紹介します。