プログラミング

【Python】Seleniumで複数クラス指定の要素をclass_nameで取得する方法!

あきぞらです。

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')

これで、要素が取得できるようになりました。

-プログラミング

Copyright© あきぞらてっく , 2020 All Rights Reserved Powered by AFFINGER5.