Python+seleniumでハマったこと
はじめに
このnoteではseleniumを使ったスクレイピング系のプログラムでハマったこと、気づいたことを随時更新してまとめていこうと思います
動作環境 windows11 + Python3.12 + selenium4
突然ログが見にくくなった
2024.04.01
ある日から(2月くらい?)のバージョンよりワーニング系のエラーなのかめちゃくちゃたくさんのログがでるようになった
これはamazonの商品ページにアクセスしてる時の模様
INFO:CONSOLE(0)
Third-party cookie will be blocked. Learn more in the Issues tab.
から始まるやつが大量に めちゃくちゃうざい
直訳したらサードパーティのクッキーをブロックしたよ!系の模様
googoleがクッキーを廃止しようとしてるって話は聞いてたからそれのことかなぁと思いつつめちゃくちゃログに出てくるので正直目障り
また勝手に表示されるのですごい邪魔
自分で表示さしている大事なデバックログはどっか彼方に行くくらいでてくる
とりあえず検索
ググれカス!と親の仇くらい検索する
ログの文章のまま
INFO:CONSOLE(0)
Third-party cookie will be blocked. Learn more in the Issues tab.
selenium chrome ログ などなど
何個が記事が見つかる
簡単そうなものからめんどくさいものまで
ChatGPTに聞いてみよ
明確な答えが見つからなかったためAIに聞く
最近なんでもGPT-4に聞いている
GTPSで作った自分専用のpythonヘルパー君に頼る
GPTSの話はまた別でやりたいと思う
NFO:CONSOLE(0)] seleniumのこのエラーを表示しない方法
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option('excludeSwitches', ['enable-logging']) # ログを減らす
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
driver.get('https://www.example.com')
# 作業...
driver.quit()
なんかそれっぽいの出てきたから試す・・・
改善されない
次の回答
ログレベルを指定する
さらに細かくログレベルを設定することもできます。これは、loggingPrefsを使って行いますが、これは主にDevTools Protocolを介して行われるものです。例えば、以下のように設定することで、特定のログレベルのメッセージのみを表示させることができます。
やってみる
はい無理~
うまくいかない
もっかい深くググレカス!
options.add_argument('--log-level=0')
これでいけるって記事見た!
試してみる前にこれの意味調べる
--log-levelの値をまず調べてみよう
0またはINFO: デフォルトのログレベル。情報、警告、エラーログが出力されます。
1またはWARNING: 警告とエラーメッセージのみを出力します。
2またはERROR: エラーメッセージのみを出力します。
3: ログ出力をほとんどまたは完全に抑制します(致命的なエラーを除く)。
ログの制御
いままで意識してこなかったけどログの制御ができるらしい
フィルタリングしたりログ全体のレベルを変えたり
何個がやり方はあったけど最終一番簡単なのが正解だった
余計なログ(致命的エラー以外)をすべて省く
これちゃうん
でも0は意味なくない?
やってみた 消えないw まぁそうだろうとは思った
3で全部消えそう
まとめ
いらんログをすべて消す方法
options.add_argument('--log-level=3')
こいつを指定してdriverを開く
きえたーーーー!
いらんログ全部消えて例外エラーレベルのみ残った!
因みにほかの事しながらだけどだいたい解決まで半日くらいかかった・・・
無知は罪 時間の浪費なので知識はつけていきましょう
いつもだいたいこんな手順で解決までいろいろやっています
今後もできるだけアウトプットしたいなと思います!
この記事が気に入ったらサポートをしてみませんか?