1
1

【seleniumクラス】WebDriverについて

Last updated at Posted at 2023-12-18

はじめに

【seleniumクラス】WebDriverに関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

🦁結論🦁

押さえておくべき点

  • WebDriverはウェブブラウザの操作を自動化するために使用。
  • Pythonだけでなく、Java、C#、Rubyなども使える。
  • Chromeだけでなく、Safari、edgeなど様々なブラウザに対応(それぞれの環境でテストできる。)
  • エレメント操作(テキストボックス、ボタン、リンクなど)も可能。
  • エレメントの読み込みを待つためにwait機能が付いている。
  • 処理途中の画面をスクショすることができる。
  • 様々なフレームワークと組み合わせ可能。

利用シーン

  • 様々な自動化したいテストに最適(一連の動作を決めてイレギュラーなどがないかを確認する)
  • スクレイピングなどの自動データ収集にも向いてる。

注意点

  • ブラウザのバージョンによってはselenium対応可否がある。
  • 各ドライバーの設定が必要。

メソッド一覧

get(url)

指定するウェブページを開く(よくURLを引数にして行う。)

driver.get("https://www.example.com")

find_element_by_id(id)

指定するIDに要素を検索。

element = driver.find_element_by_id("element_id")

find_element_by_name(name)

指定するname属性の要素を検索。

element = driver.find_element_by_name("element_name")

find_element_by_xpath(xpath)

XPathに基づいて要素を検索。

element = driver.find_element_by_xpath("//div[@class='class_name']")
1.	絶対パス: ドキュメントのルートから始まる完全なパス。例: /html/body/div
2.	相対パス: 現在の要素からの相対的なパス。例: div/a
3.	属性による検索: 特定の属性を持つ要素を検索。例: //a[@href='https://www.example.com']
4.	部分一致: 属性値の一部に基づいて要素を検索。例: //a[contains(@href, 'example')]
5.	複数条件: 複数の条件を組み合わせた検索。例: //div[@class='example' and @id='uniqueId']

様々な条件などを組み合わせて検索して指定することができる。


find_element_by_css_selector(selector)

指定するCSSセレクタ要素を検索。

element = driver.find_element_by_css_selector(".class_name")

send_keys(value)

指定する要素にテキストを入力。
例.テキストボックス(検索ボックス)に入力する。

input_element = driver.find_element_by_name("name")
input_element.send_keys("Test Text")

click()

指定する要素をクリック。

button = driver.find_element_by_id("submit_button")
button.click()

clear()

テキストフィールドの内容をクリア。
テキストボックスをクリアするなど

input_element.clear()

switch_to.alert

アラートにフォーカスを移動し操作。
(小さな小窓が出てきたときにOKボタンを押すなど)

alert = driver.switch_to.alert
alert.accept()  # アラートを承認

quit()

ブラウザを閉じてWebDriverセッションを終了。

driver.quit()

1
1
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
1
1