はじめに
【seleniumクラス】Web Elementに関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇
🦁結論🦁
押さえておくべき点
- WebElementはSeleniumでWebページの要素を表す。
- ID、クラス名、タグ名、CSSセレクタ、XPathなどで特定できる。
- クリック、テキスト入力、ドラッグ&ドロップなどの操作が可能。
- is_displayed()メソッドで要素が表示されているかどうかを確認できる。
- is_enabled()メソッドで要素が有効かどうか(例えば、ボタンが押せるか)を確認できる。
- locationプロパティでページ内の要素の位置(X座標とY座標)を取得できる。
- sizeプロパティを使用して、要素のサイズ(幅と高さ)を取得できる。
- 要素のスクリーンショットを取得できる。
利用シーン
- .send_keysメソッドを使って指定部分のユーザー情報の入力をしたい時。
- スクレイピング操作したいとき
注意点
- ハンバーガーメニューなどで非表示要素は操作できないので注意が必要。
- 異なるブラウザでは動作が異なる場合がある。
メソッド一覧
click()
要素をクリック。
element.click()
send_keys(value)
テキストボックスなどの要素にテキストを入力。
element.send_keys("テキスト")
get_attribute(name)
要素の特定の属性の値を取得。
attribute_value = element.get_attribute("attribute_name")
text
要素のテキストを取得。
text = element.text
is_displayed()
要素が画面上に表示されているかどうかを確認。
この要素が画面上に表示されてから実行するときなどに使える。
is_visible = element.is_displayed()
is_enabled()
要素が有効化されている(クリック可能など)かどうかを確認。有効化を確認できた後に次の動作を、行う。
is_enabled = element.is_enabled()
is_selected()
チェックボックスやラジオボタンなどが選択されているかどうかを確認。
is_selected = element.is_selected()
clear()
テキストフィールドの内容をクリアする。
あくまでもテキストボックスのみ。
ラジオボタンなどはNG
element.clear()
find_element_by_…()
指定されたセレクタに一致する子要素を見つける。find_element_by_id, find_element_by_nameなどがあります。
child_element = element.find_element_by_id("child_id")
screenshot(filename)
要素のスクリーンショットを取得し、指定されたファイル名で保存する。
element.screenshot("screenshot.png")