私は Selenium でいくつかのことを試していますが、スクリプトをすぐに実行したいと思っています。
ヘッドレス Chrome でスクリプトを実行すると、速度が速くなると思いました。
まず、その仮定は正しいのでしょうか、それともヘッドレス ドライバーでスクリプトを実行しても問題ないのでしょうか?
ヘッドレス Chrome を動作させたいのですが、なぜか正常に動作しません。さまざまなことを試してみましたが、10 月のアップデートで説明されているように動作するだろうという意見がほとんどでした。
Selenium を介してヘッドレス モードで Chrome ブラウザを起動するように ChromeDriver を構成する方法を教えてください。
しかし、それを試してみると、奇妙なコンソール出力が表示され、まだ機能していないようです。
ヒントがあればありがたいです。
ベストアンサー1
chrome-headless を実行するには、次のように--headless
viaを追加するだけですchrome_options.add_argument
。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
# chrome_options.add_argument("--disable-extensions")
# chrome_options.add_argument("--disable-gpu")
# chrome_options.add_argument("--no-sandbox") # linux only
chrome_options.add_argument("--headless=new") # for Chrome >= 109
# chrome_options.add_argument("--headless")
# chrome_options.headless = True # also works
driver = webdriver.Chrome(options=chrome_options)
start_url = "https://duckgo.com"
driver.get(start_url)
print(driver.page_source.encode("utf-8"))
# b'<!DOCTYPE html><html xmlns="http://www....
driver.quit()
したがって、ヘッドレス Chrome で実行するとスクリプトが高速化されると考えます。
--disable-extensions
またはなどの Chrome オプションを使用して--disable-gpu
ベンチマークしてみてください。ただし、大幅な改善は見込めません。
参考文献:ヘッドレスクローム