Masayan tech blog.

  1. ブログ記事一覧>
  2. Pythonのseleniumでid属性がないhtml要素を一意に取得する方法

Pythonのseleniumでid属性がないhtml要素を一意に取得する方法

公開日

環境

  • 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だと要素を取得できないので困るので、その対処法について紹介しています。