Selenium Python のアクション チェーン
Selenium は、自動化に使用されるスタンドアロンの Web ベースのツールです。 誰でも利用できるオープンソースのツールです。
Python 言語と組み合わせると、このツールはテストに利用されます。 アクション チェーンは Selenium の基本的な部分であり、キープレス、マウスの動き、マウス ボタンのアクション、コンテキスト メニューとの相互作用などの低レベルの相互作用を管理する方法を提供します。
このチュートリアルでは、Python を使用して Selenium にアクション チェーンを実装する方法を示します。
通常、アクション チェーンは、いずれかの要素をクリックまたはドラッグする必要がある高度なスクリプトを自動化する必要がある場合に使用します。
アクション チェーン オブジェクトは、Python でアクション チェーンを実装するために利用されます。 アクション チェーン オブジェクトは、すべてのアクションをキューに格納できます。このキューは、perform()
関数を呼び出して、格納されたすべての操作を実行します。
Selenium Python で単純なアクション チェーン オブジェクトを作成する方法
シンプルな Action Chain
オブジェクトは、必要なモジュールをインポートし、Python コードでいくつかの値を渡すことで作成できます。
次のコードは、単純な Action Chain
オブジェクトを作成します。
from selenium import webdriver # webdriver is imported from selenium
from selenium.webdriver.common.action_chains import (
ActionChains,
) # ActionChains is imported from webdriver
driver = webdriver.Firefox() # a webdriver object is then created
action = ActionChains(
driver
) # An action chain object is finally created with the driver
Action Chain
クラスはまずselenium.webdriver
モジュールからインポートされます。driver
が定義されます。- 次に、この
driver
がキー引数としてaction chain
オブジェクトに渡されます。 アクション チェーン
オブジェクトが作成され、実行可能な操作を実行する準備が整います。
一般的な利用とは別に、アクション チェーンはチェーンまたはキュー パターンでも使用できます。
Selenium Python でアクション チェーンを実装する
これをよりよく説明するために、ウェブサイト https://www.delftstack.com/
の例を取り上げ、Python コードでいくつかの実験を行います。
以下のコード例では、最初にウェブサイト https://www.delftstack.com/
を実行し、次にヘッダーの TUTORIALS
ボタンをクリックします。これにより、ブラウザは https://www にリダイレクトします。 .delftstack.com/tutorial/
ウェブサイトのリンク自体。
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.get("https://www.delftstack.com/")
clicker1 = driver.find_element_by_link_text("TUTORIALS")
action = ActionChains(driver)
action.click(on_element=clicker1)
action.perform()
上記のコードは、次の出力を提供します。
コードが最初に実行され、ウェブサイトのホームページ https://www.delftstack.com/
が開きます。
次に、上記のコードの操作に従って、https://www.delftstack.com/tutorials/
Web ページに自動的にリダイレクトされます。
Action Chain
クラスはまずselenium.webdriver
モジュールからインポートされます。- 次に、Web サイト
https://www.delftstack.com/
であるdriver
を定義します。 これにはget()
関数を使用します。 - 次に、要素
clicker1
、つまり Web サイトのヘッダーにあるTUTORIALS
ボタンを定義します。 - この
driver
はaction chain
オブジェクトにキー引数として渡されます。 - 次に、
action.click()
関数を使用して、前に定義したclicker1
要素をその引数として渡します。 - 次に
perform()
関数を実行して、コードで定義された操作を実行できるようにします。
記事のこの部分では、Python で Selenium のアクション チェーンを使用する実際の例を取り上げました。
ただし、Selenium でアクション チェーンを実装するだけでは十分ではありません。 また、Action Chain
オブジェクトを作成した後に実行される Action Chain メソッドについても知っておく必要があります。 以下に、重要なもののいくつかを説明しました。
click
- 要素をクリックする方法。click_and_hold
- 指定された要素でマウスの左ボタンを押し続ける方法。double_click
- 要素をダブルクリックする方法。drag_and_drop
- LMB を要素に保持し、ターゲット サイトにドラッグし、その後解放します。move_to_element
- マウスを要素の中心に移動します。perform
-action chain
オブジェクトに格納されているすべてのアクションは、このメソッドを使用して実行されます。一時停止
- すべての入力が一定時間一時停止されます。 時間の単位は秒です。release
- マウス ボタンを押したままにすると、ボタンが離されます。
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn