はじめに
pyhtonで動的なページのスクレイピングをする必要が生じ、なかなか解決しなかったことがあったので、皆さんの参考になればと思い、記事を書きました。
seleniumで基本的な要素を取得する方法は下記が参考になると思います。
https://qiita.com/humuhimi/items/2d1225b1e33576e4f0c8
driver.find_element_by_css_selector("xxx")
という指定方法は古い指定方法なので注意が必要です。
新しい指定方法は下記になります。
driver.find_element(by=By.CSS_SELECTOR,value="xxx")
本題
下記のようなページがあり、「テキスト2」の部分を見つけ出したい場合に有効です。
Xpathで指定する方法もあるかと思いますが、特定の属性値を指定する方法が今回ご紹介する内容です。
test1.html
<div class="test" data-item-index="1">テキスト1</div>
<div class="test" data-item-index="2">テキスト2</div>
<div class="test" data-item-index="3">テキスト3</div>
seleniumでの指定方法
test.py
element = driver.find_element(by=By.CSS_SELECTOR,value="div.test[data-item-index="2"])
以上、参考になれば幸いです。