Seleniumでクラスが複数ある要素を取得したい場合
↓記載例のようにクラスが複数あります。
クラスが複数例
<ul class="topic-path under-menu-title">
##結論
CSSの関数を使う
クラスは.でつなげる 先頭の.を忘れないように 空白も削除する
クラスだから
find_element_by_class_name
FindElementByClass
をつかうのかと思いきや CSSの関数を使うのです。
SeleniumBasic VBAの場合
↓ driverには SeleniumBasicドライバーが設定済みとする
a に要素を取得し文字列を表示する例。
Dim a as WEbelement
set a = driver.FindElementByCss(".topic-path.under-menu-title")
Debug.print(a.Text) ← 要素のテキストが表示されます。
Selenium Pythonの場合
↓ driverには Seleniumドライバーが設定済みとする
a に要素を取得し文字列を表示する例。
a = driver.find_elements_by_css_selector(".topic-path.under-menu-title")
print(a.text)
CSSでコーディングされたポップアップボタンなど
xpathやclassではうまくいかないこともCSSで指定するとうまくいくことよくあります。
なので、うまくいかないときは
xpath,class,cssすべて試してみます。