LoginSignup
1
2

More than 3 years have passed since last update.

Python Seleniumを使用してhtmlのカスタムデータ属性を要素として取得したい

Posted at

HTML文書で、idは文書中で一意ですがclassはそうでないので、文書中に同一class名が複数ある場合はfind_elements_by_class_name()の結果を回す必要がある場合があります(elementにsがついてます)。
たとえば、属性を含めると一意になるのであれば、get_attribute()を使用して属性を取得し、自分の考えるものであれば、自分の行いたい処理(たとえばクリックとか)をすれば良いです(下記コード参照)。
そうでなければ、一意になる方法をその文書で考えて対応しなければならないと思います。
ブラウザの開発ツールで取得できるxpathやcssセレクターは一意になるので有効だと思うんですけどね。


elems = driver.find_elements_by_class_name("クラス名(*1)") # *1:適切なクラス名を指定してください。
for elem in elems:
    attr = elem.get_attribute("属性名(*2)") # *2:適切な属性名を指定してください。
    if (attr == "自分が一致すると思われる属性値"):
        elem.click()
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2