LoginSignup
0
2

Selenium WebDriverを調べたからまとめる

Posted at

Selenium WebDriverを調べたからまとめる

まず、
私はPythonしか使えませんので、
Python視点でSelenium WebDriverを解説していきます。

準備

・ChromeDriver
・Seleniumライブラリ

Selenium WebDriverの基本

二段階のステップに分けることができる。

  1. HTMLから対象物の要素を見つける

  2. 要素を操作する

これが
Selenium WebDriverの基本ステップ。

では順に解説していきます。

1.要素を見つける

HTMLの中から操作対象のタグを見つけること
つまり、操作したいタグの特徴を見つけることが第一歩

要素を見つけたらメソッドを指定すれば、
クリック、入力などが行える。

要素の検索について

要素の検索方法は複数あり、
一つの要素だけを検索するのならfind_elementメソッド
複数の要素であればfind_elementsメソッドを使う。

id属性で検索

id属性は要素をいちいに特定できるので一番おすすめの検索法。

class属性で検索

class属性は複数の要素に適用できる。
そのため、
find_elementメソッドで一つの要素で検索する場合は最初に見つかったものが取得できる。

タグ名で検索

タグ名でも検索できる。
webページ内のaタグをすべて取得するといった処理はよくある。

name属性で検索

name属性でも検索できます。

リンクテキストで検索

リンクテキストでも検索可能。
リンク全文を検索対象にするものとリンクテキストの一部を検索する2つの方法がある。

XPathで検索

XPathはHTMLの特定の一部を指定できる気泡。
これまで開設したタグの属性で解決できない場合にこのXPathを用いることになる。

XPathを知らない人はこの記事を見てね!
クローラ作成に必須!XPATHの記法まとめ

2.操作する

要素を取得したら次は操作です。
クリックやテキストフィールド入力が主ですが、他にも役立つ操作があるので見ていきましょう。

クリック処理

クリック処理は取得した要素に続けてclickメソッドを指定する。

テキストフィールドの入力

テキストフィールドの入力は取得した要素に続けてsend_keysメソッドを指定する。

フォームの送信

フォーム送信は送信ボタンをクリックしてもできますが、
フォーム内の要素にsubmitメソッドを指定してもOKです。

フォーム内のDOMをたどってフォーム要素を自動でsubmitします。

タグ内の文字列取得

タグ内の文字列はtextプロパティで取得できます。

待機処理について

ブラウザ捜査中にページをまたがって操作するときは、
ページの読み込みを待つ必要があります。

待機処理を挟まないとエラーになる原因となります。

そのため、
必ずページ遷移時には待機処理を入れましょう。

明示的な待機処理

明示的な待機処理は、
特定の条件を満たすまで指定数秒待機する処理です。

条件は複数あり、
ページタイトルに指定した文字列が一致するまで待機する条件や、
DOMの状態変化を監視するものもあります。

暗黙的な待機処理

暗黙的な待機処理はもっと簡単で、
指定した数秒待機するだけ。

参考にした記事

Pythonでブラウザ操作を自動化するSelenium WebDriverの使い方

おわりに

終わり。

この記事を通して、
Selenium WebDriverの使い方を少しでも理解いただければ幸いです。
あと、フォローされたらもっと頑張ります!
フォローしてくださいな!

0
2
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
2