あきぞらです。
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')
これで、要素が取得できるようになりました。