1. ホーム
  2. python

[解決済み] SeleniumでChromeブラウザをヘッドレスモードで起動するためのChromeDriverの設定方法は?

2023-04-03 02:37:09

質問

私はウェブスクレイプするためのPythonスクリプトに取り組んでおり、パッケージの1つとしてChromedriverを使用する道を歩んできました。私は、これがポップアップウィンドウなしでバックグラウンドで動作することを望みます。私はchromedriverの'headless'オプションを使用しており、それはブラウザウィンドウを表示しないという点で仕事をするようですが、私はまだ.exeファイルが実行されているのを見ます。私が話していることのスクリーンショットをご覧ください。 スクリーンショット

ChromeDriverを起動するために使用しているコードです。

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"])
options.add_argument('headless')
options.add_argument('window-size=0x0')
chrome_driver_path = "C:\Python27\Scripts\chromedriver.exe"

私がしようとしたことは、オプションでウィンドウ サイズを 0x0 に変更することでしたが、.exe ファイルはまだポップアップするので、それが何かをしたかどうかはわかりません。

これを行う方法について何か考えがありますか?

私はPython 2.7を使用しています参考までに

どのように解決するのですか?

ということで、私のコードを修正した後。

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"])
options.add_argument('--disable-gpu')
options.add_argument('--headless')
chrome_driver_path = "C:\Python27\Scripts\chromedriver.exe"

スクリプトを実行すると、.exe ファイルがまだ表示されます。しかし、これにより、"Failed to launch GPU process" といった余分な出力はなくなりました。

最終的にうまくいったのは、.bat ファイルを使用して私の Python スクリプトを実行することです。

つまり、基本的には

  1. pythonスクリプトをフォルダに保存する
  2. テキストエディタを開き、以下のコードをダンプします(もちろん、あなたのスクリプトに合わせて編集してください)。

    c:\python27python.exe c:\SampleFolderThisIsMyScript.py %*.

  3. .txtファイルを保存し、拡張子を.batに変更します。

  4. これをダブルクリックするとファイルが実行されます

これはコマンド プロンプトでスクリプトを開いただけで、ChromeDriver は画面の前に飛び出すことなくこのウィンドウ内で動作しているようで、その結果、問題が解決しました。