0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Selenium SeleniumBasicクラスが複数ある場合 (Python VBA)

Last updated at Posted at 2020-12-17

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すべて試してみます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?