SeleniumのAction Chainsクラス

2059 ワード

ActionChainsクラスはマウスの動作をシミュレートするためによく使用されます.たとえば、クリック、ダブルクリック、ドラッグなどの動作をシミュレートし、次の方法でActionChainsクラスをインポートします.
from selenium.webdriver.common.action_chains import ActionChains

次に例を示します.
import time
from selenium import webdriver
from selenium.webdriver import ActionChains

browser =webdriver.Firefox()
browser.get('http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')
browser.switch_to.frame('iframeResult')                          # id = 'iframeResult'
source = browser.find_element_by_css_selector('#draggable')      #       
target = browser.find_element_by_css_selector('#droppable')      #     
actions = ActionChains(browser)
actions.drag_and_drop(source, target)
actions.perform()
time.sleep(3)
browser.close()

以上の例では,マウスのドラッグ操作を実現し,まずインスタンス化し,その中のメソッドを呼び出し,対応する操作を完了する必要がある.
次に、一般的なマウスのシミュレーション操作を示します.
  • click(on_element=None)マウス
  • をクリック
  • click_and_hold(on_element=None)マウスをクリックし、
  • を押し続けます.
  • context_click(on_element=None)右クリック
  • double_click(on_element=None)ダブルクリック
  • drag_and_drop(source,target)ドラッグ
  • drag_and_drop_by_offset(source,xoffset,yoffset)ターゲットを指定された位置
  • にドラッグ
  • key_down(value,element=None)キーを押すと、次のCtrl+cキー
    ActionsChains(browser).key_down(Keys.CONTROL).send_keys('c').perform()
    
  • を押すなど、いくつかのショートカットキーを簡単に実現できます.
  • key_up(value,element=None)キーを離すと、上記の方法に合わせてCtrl+cを押して解放することができます.
    ActionsChains(browser).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
    
  • move_by_offset(xoffset,yoffset)マウスがある位置に移動することを指定し、2つの座標位置
  • を与える必要がある.
  • move_to_element(to_element)指定した要素の位置
  • にマウスを移動する.
  • move_to_element_with_offset(to_element,xoffset,yoffset)マウスをある要素位置のオフセット位置
  • に移動する.
  • perform()は、前の一連のActionChainsを
  • 実行する.
  • release(on_element=None)押したマウス
  • を放します.
  • send_keys(*keys_to_send)ある要素の位置に値
  • を入力
  • send_keys_to_element(element,*keys_to_send)指定された要素にデータ
  • を入力