
あきぞらです。
PythonでSeleniumを使っていて、
複数クラスが書いてある要素にアクセスしたいときがありました。
そのとき「find_element_by_class_name」で取得しようと思ったのですが、
複数クラスが設定されているときに
クラス名で取得する方法がわからなかったので、備忘として書いていきます。
複数クラスが設定されている要素を取得する
たとえば、こんなHTMLが用意されていたとします。
ここの、クラス「btn btn-secondary」が付いているinput要素を取得したいとします。
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary active">
<input type="radio" name="options" id="option1" autocomplete="off" checked> Active
</label>
<label class="btn btn-secondary">
<input type="radio" name="options" id="option2" autocomplete="off"> Radio
</label>
</div>
そんなときは、こんなふうに書きます。
find_element_by_class_name('クラス1.クラス2')
今回の例でいうと、こういう書き方になります。
test_element = find_element_by_class_name('btn.btn-secondary')
これで、要素が取得できるようになりました。