トップページ > Selenium API(逆引き) > 【Python】key_down/move_by_offset/click/perform

【Python】key_down/move_by_offset/click/perform・・・キーボードを押しながら特定座標をクリックする

「key_down」「move_by_offset」「click」「perform」を連続で実行することでキーボードを押しながら特定座標をクリックすることが出来ます。

下記サンプルでは、ActionChainsクラスのインスタンス作成する為に、ActionChainsクラスのコンストラクタの引数に、対象driverを指定してインスタンスを作成しています。続いて作成したインスタンスに対して各メソッドを実行しています。まずキーボードを押下した状態のままにする「key_down」。このメソッドは引数に指定したキーを押下したままの状態にします。次に、特定座標にマウスカーソルを移動する「move_by_offset」。このメソッドは、現在のマウスカーソル位置を基点として、どれだけX/Y座標に移動させるかのオフセットを指定していきます。続いて「click」を引数指定なしで実行することで、現在のマウスカーソル位置(move_by_offset実行後のカーソル位置)でクリックしていきます。最後に「perform」を実行することで、これまでのメソッドをビルドした後、上から順に実行していきます。

※アクションについてはこちら

説明

◆メソッド
  ・key_down(theKey)            :キーボードを押下
  ・move_by_offset(xOffset,yOffset)      :指定座標にマウスカーソル移動
  ・click()                   :左クリック
  ・perform()                 :処理の実行
◆使用形態
  ・actions.key_down(theKey)
         actions.move_by_offset(xOffset, yOffset)
         actions.click(element)
         actions.perform()
◆備考
  ・特になし
◆関連項目
  ・要素を特定座標にドラッグする
  ・要素を他の要素へドラッグする

サンプル

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

#ChrmoeDriverサーバーのパスを引数に指定しChromeを起動
driver = webdriver.Chrome("D:\chromedriver")
#指定したURLに遷移する
driver.get("https://www.google.co.jp");
#Controlキーを押下しながら"画像"リンクの座標へマウスカーソル移動してクリックする。
actions = ActionChains(driver)
actions.key_down(Keys.CONTROL)
actions.move_by_offset(846,24)
actions.click()
actions.perform()

実行結果

moveByOffset
 ※GoogleおよびGoogleロゴはGoogle Inc.の登録商標であり、同社の許可を得て使用しています。
yajirushi
moveByOffset2

動画デモ

※字幕をONにすると解説のテロップが表示されます※

カテゴリー

Selenium導入

APIリファレンス

その他

ページ上部へ戻る
トップページ > Selenium API(逆引き) > 【Python】key_down/move_by_offset/click/perform
Copyright © 2016- Seleniumクイックリファレンス All Rights Reserved