(1)セレンとは
1. Selenium は自動テスト ツールであり、人間の言葉で言えば、コードを使用してブラウザを制御することを。
2. Selenium スクリプトの 8 つのコンポーネント
①ブラウザオブジェクトをインスタンス化する
②ブラウザ情報の取得
③ ページへのアクセスリクエスト
④ 配置された要素を見つける
⑤ 操作要素
⑥ 行動連鎖・行動連鎖
⑦ 要素情報の取得
⑧ 遅延待ち
(2)ウェブドライバーモジュール
1. WebDriver オブジェクト
① WebDriverオブジェクトドライバをインスタンス化する
ブラウザの分類
webdriver.Chrome()
webdriver.Firefox()
webdriver.Edge()
webdriver.Safari()
ブラウザのオプション
オプション
②属性
driver.page_source Web ページのソース コード
driver.current_url 現在のタブまたはウィンドウによって要求された URL アドレス
driver.window_handles ウィンドウハンドルのリスト
③方法
driver.get()
役割: URL にリクエストを送信します。
driver.find_element()
役割: 指定された要素を検索します。
パラメータ: by=位置決め方法を指定、value=特定の値を指定
ターゲティング
このクラスは selenium.webdriver.common.by からインポートする必要があります。
ID別
タグID属性による検索
名前で
タグ名属性による検索
投稿者.CLASS_NAME
タグのクラス属性に応じた配置
投稿者.TAG_NAME
タグ名に基づくターゲット
By.LINK_TEXT
タグで囲まれたテキストに基づいて検索する
By.CSS_SELECTOR
CSSセレクターによる配置
作成者.XPATH
XPath パス クエリ言語に従って検索する
戻り値: WebElement オブジェクト
driver.find_elements()
役割: 指定されたすべての要素を検索します
パラメータ: by=位置決め方法を指定、value=特定の値を指定
戻り値: WebElement オブジェクトで構成されるリスト
driver.get_cookie()
機能: xxx という名前の Cookie を取得します。
パラメータ: name = 取得する Cookie の名前
driver.get_cookies()
機能: すべての Cookie を取得する
戻り値: 辞書のリスト
driver.execute_script()
役割: JavaScript スクリプトの実行
新しいタブを開く
「window.open('http://httpbin.org/ip')」
スクロール スクロールバー
ページの一番下に移動
「window.scrollTo(0, document.body.scrollHeight)」
document.body.scrollHeight プロパティは、現在の HTML ドキュメントの下部の高さを取得します。
現在位置を基準とした座標に移動します
「window.scrollBy(0, 700)」
絶対位置へ移動
「window.scrollTo(0, 1200)」
ウィンドウ全体の絶対位置 x=0、y=1200
driver.close()
機能: 現在のタブまたはウィンドウを閉じます。
driver.quit()
効果: ブラウザ全体を閉じます。
driver.forward()
機能: 次のページに進みます
driver.back()
機能: 前のページに戻る
driver.set_window_size()
機能: ブラウザのウィンドウ サイズを設定します。
パラメータ: 幅と高さ
driver.implicitly_wait()
機能: 渡された指定された時間を暗黙的に待機します。
④ switch_toモジュール
方法
driver.switch_to.window()
- 機能: ウィンドウを開きます (デスクトップにもう 1 つのウィンドウだけ)
- パラメータ: ウィンドウハンドルまたはウィンドウ名
driver.switch_to.new_window()
- 役割: 新しいタブまたはウィンドウを開く
- パラメータ: 'tab' 新しいタブ ページ、'window' 新しいウィンドウ
2. WebElement オブジェクト
①属性
タグ.テキスト
ラベル内のテキストコンテンツを取得します
タグ.id
ノードIDの取得
タグ.場所
ページ内のノードの相対位置を取得します。
タグ.タグ名
ノードのラベル名を取得します
タグのサイズ
ノードの幅と高さを取得します
②方法
tag.send_keys()
機能: 指定されたタグ要素に値を送信します。
パラメータ: 送信するキーの値
tag.clear()
機能: 要素で送信されたコンテンツをクリアします。
tag.click()
機能: この要素をクリックします
tag.get_attribute()
機能: ラベルノードの属性値を取得します。
パラメータ: 取得したい属性の名前
tag.find_element()
機能: 配置されたタグの中から目的のタグを検索し続けることができます。
WebDriver オブジェクトと WebElement オブジェクトの両方にこのメソッドがあります
3. ActionChains オブジェクト
① ActionChainsオブジェクトのアクションをインスタンス化する
アクションチェーン(ドライバー)
②方法
アクション.move_to_element()
機能: 指定された要素にマウスを移動します。
パラメータ: 指定された要素
アクション.send_kyes_to_element()
役割: 要素に値を入力します。
パラメータ: 要素、値
アクション.クリック()
機能: 要素をクリックします。
パラメータ: クリックする要素
アクション.ドラッグアンドドロップ()
機能: ソース要素をターゲット要素の位置にドラッグします。
パラメータ: ソースの初期位置、ターゲットをドラッグした後の位置
アクション.perform()
機能: 定義されたアクションを実行します。
4. WebDriverWait オブジェクト
① WebDriverWait オブジェクトのインスタンス化 wait
selenium.webdriver.support.ui から WebDriverWait をインポート
これは待機中のオブジェクトであり、ドライバー オブジェクトと待機時間を渡す必要があります。
wait = WebDriverWait(ドライバー, 100)
②方法
それまで()
機能: 待機条件を渡すと、関数はその条件が発生するか、事前に設定した最大時間に達するまで待機してから待機を終了します。
パラメータ: 予期される条件
(3) Expected_conditions モジュール
1. 期待条件関数
present_of_element_located()
機能: 期待される要素が表示されるかどうかを判断します。
パラメーター: タプルであるロケーターを渡します (例: (By.ID, 'id_name'))
element_to_be_clickable()
機能: 期待される要素が表示され、クリックできるかどうかを判断します。
パラメータ: ロケーターまたは WebElement オブジェクトを渡します。
アラート_is_present()
機能: 警告ボックスが表示されるかどうかを決定します。