環境
- windows 10
- Python 3.10.1
事象
- seleniumでブラウザ操作を自動で行いたいが、id属性が割り振られていないhtmlだと要素を取得できないので困る
対処法
- find_element_by_xpath() を使用する
- 上記はxpathから要素を一意に取得できる関数
- 注意点として、htmlが大きく変更(更新)されると、xpathが変わる可能性があるので、乱用しすぎないこと
- まずはidかclassでいい感じに要素が取得できるか検討すること
- driver.find_element_by_class_name("classname")
- driver.find_element_by_id("id")
- xpathはchromeだとディベロッパーツールの以下の箇所から取得できる
以上です。
まとめ
いかがでしたでしょうか。本記事では、seleniumでブラウザ操作を自動で行いたいが、id属性が割り振られていないhtmlだと要素を取得できないので困るので、その対処法について紹介しています。