seleniumヘッダレスモード(インタフェース起動なし)

3763 ワード

seleniumのヘッダレスモードは,ブラウザへのパラメータの転送によって実現される.
chromeブラウザとfirefoxの設定はほぼ同じです.ソースコードを読むと、Optionsクラスには_arguments配列があり、呼び出されるたびにset_argumentその配列へappend文字列が1文字列であることがわかります.設定されたパラメータは、特定のブラウザに関連しています.
Chromeブラウザの設定
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

opts = Options()
opts.headless = True  #       ,      opt.add_argument('--headless') opt.add_argument('--disable-gpu')(--disable-gpu  gpu   windows     )。
browser = webdriver.Chrome(options=opts)  #      chromedriver      ,             

画像のロードを禁止:
prefs = {
    'profile.default_content_setting_values' : {
        'images' : 2
    }
}
opts.add_experimental_option('prefs',prefs)

chromedriverダウンロードアドレス:http://npm.taobao.org/mirrors/chromedriverその他のパラメータが表示されます.https://peter.sh/experiments/chromium-command-line-switches/
Firefoxブラウザの設定
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

opts = Options()
opts.headless = True  #       opt.add_argument('-headless')
opts.set_preference('permissions.default.image', 2)  #       
browser = webdriver.Firefox(options=opts)

試したばかりで、同じコードで、ヘッドレスモードでchromeでfirefoxより6秒速くなりました.バージョンと関係があるかどうか分かりません.
参照先:https://www.cnblogs.com/pywjh/archive/2018/10/14/9785650.html https://blog.csdn.net/qq_41424519/article/details/88107004