とあるサービスをスクレイピングしようとしたところ、
- Chromeのデベロッパーツールでは表示される
- HTMLをダウンロードしても存在しない
という要素があり、その要素の取得方法がわからず困っています。
python
1from selenium import webdriver 2import pyperclip 3 4path = "chromedriver.exe" 5driver = webdriver.Chrome(executable_path=path, options=options) 6url = url 7driver.get(url) 8source = driver.page_source 9pyperclip.copy(source) 10
取得したい要素は、デベロッパーツールでは確認できるのですが、上記コードのsourceには入っていませんでした。
デベロッパーツールで、その直前のHTMLタグを見ると
#shadow-root(open) == $0
という記載が確認できました。
色々と調べると、該当するサービスはgatsbyを使ってビルドしているそうです。
どのようにすれば、デベロッパーツールでのみ確認できる要素を取得できるのでしょうか?
一部サイトではheadlessモードで取得できるとあったので、そのようにしましたが、それでは、、取得できませんでした。
漠然とした質問で申し訳ないです。
こういうことを勉強したら、答えにたどり着けるよ、とか、seleniumのこういうメソッドがあるよ、というレベルの回答でもよいので、教えていただけると嬉しいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。