selenium 底层自动交互 替换 模拟点击鼠标 Selenium3.0 文档——selenium.webdriver.common.action_chains

Selenium3.0 文档——selenium.webdriver.common.action_chains

class selenium.webdriver.common.action_chains.ActionChains(driver)
  • 1

ActionChains是一个底层的自动交互的方法,例如鼠标移动、鼠标按键事件、键盘响应和菜单右击交互。这些对于像悬停和拖拽这种复杂的行为很有用。

创建用户行为。

当你调用ActionChains类中的动作方法时,这些动作都被存储在ActionChains类中的队列中。一旦你调用perform(),这些存在队列中的事件会依次启动。

ActionChains可以用链模式:

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")

ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()
  • 1
  • 2
  • 3
  • 4

或者动作被依次储存在队列中,然后启动:

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")

actions = ActionChains(driver)
actions.move_to_element(menu)
actions.click(hidden_submenu)
actions.perform()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

无论哪种方式,这些动作会按照调用的顺序依次启动。

创建新的ActionChains

参数:driver:用户启动动作的WebDriver的实例。

click(on_elemrnt=None)
  • 1

单击一个元素 
参数:on_element:要单击的元素。如果没有,在鼠标的当前位置单击。

click_and_hold(on_elemrnt=None)
  • 1

在一个元素上按住鼠标左键。 
参数:on_element:鼠标按下的元素。如果没有,在鼠标的当前位置单击。

context_click(on_elemrnt=None)
  • 1

在一个元素上右击。 
参数:on_element:要右击的元素。如果没有,在鼠标的当前位置单击。

double_click(on_elemrnt=None)
  • 1

双击一个元素。 
参数:on_elemrnt:要双击的元素。如果没有,在鼠标的当前位置单击。

drag_and_drop(source, target)
  • 1

在源元素上按住鼠标左键,然后移动到目标元素上并松开鼠标按键。 
参数:source:按下鼠标的元素 
target:松开鼠标的元素

drag_and_drop_by_offset(source, xoffset, yoffset)
  • 1

在源元素上按住鼠标左键,然后移动到目标位移并松开鼠标。 
参数:source:按下鼠标的元素 
xoffset:X轴位移 
yoffset:Y轴位移

key_down(value, element=None)
  • 1

仅仅按下一个按键,并不松开。只用于修饰键(Ctrl、Alt和Shift)。 
参数:value:要发送的修饰键。值在Keys类中定义了。 
element:发送按键值的元素。如果没有,就向当前焦点的元素的发送。 
比如按下ctrl+c:

ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
  • 1
key_up(value, element=None)
  • 1

松开修饰键。 
参数:value:要发送的修饰键。值在Keys类中定义了。 
element:发送按键值的元素。如果没有,就向当前焦点的元素的发送。 
比如按下ctrl+c:

ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
  • 1
move_by_offset(xoffset, yoffset)
  • 1

将鼠标从当前位置移动一定的位移。 
参数:xoffset:X轴位移,可以是正数也可以是负数。 
yoffset:Y轴位移,可以是正数也可以是负数。

move_to_element(to_element)
  • 1

把鼠标移动到一个元素的中间位置。 
参数:to_element:要将鼠标移动到那里的网页元素。

move_to_element_with_offset(to_element, xoffset, yoffset)
  • 1

将鼠标在一个指定的元素中移动一定的位移。位移是相对于元素的左上角。 
参数:to_element:要将鼠标移动到那里的网页元素。 
xoffset:X轴位移。 
yoffset:Y轴位移。

perform()
  • 1

启动储存的动作。

release(on_element=None)
  • 1

释放按在元素上的鼠标按键。 
参数:on_element:要释放鼠标的元素。如果没有,就在鼠标的当前位置释放。

send_keys(*keys_to_send)
  • 1

向当前获得焦点的元素发送按键值。 
参数:keys_to_send:要发送的按键。修饰键的常量在Keys类中已经定义。

send_keys_to_element(element, *keys_to_send)
  • 1

向一个元素中发送按键值。 
参数:element:要发送按键值的元素。 
keys_to_send:要发送的按键。修饰键的常量在Keys类中已经定义。

class selenium.webdriver.common.action_chains.ActionChains(driver)
  • 1

ActionChains是一个底层的自动交互的方法,例如鼠标移动、鼠标按键事件、键盘响应和菜单右击交互。这些对于像悬停和拖拽这种复杂的行为很有用。

创建用户行为。

当你调用ActionChains类中的动作方法时,这些动作都被存储在ActionChains类中的队列中。一旦你调用perform(),这些存在队列中的事件会依次启动。

ActionChains可以用链模式:

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")

ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()
  • 1
  • 2
  • 3
  • 4

或者动作被依次储存在队列中,然后启动:

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")

actions = ActionChains(driver)
actions.move_to_element(menu)
actions.click(hidden_submenu)
actions.perform()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

无论哪种方式,这些动作会按照调用的顺序依次启动。

创建新的ActionChains

参数:driver:用户启动动作的WebDriver的实例。

click(on_elemrnt=None)
  • 1

单击一个元素 
参数:on_element:要单击的元素。如果没有,在鼠标的当前位置单击。

click_and_hold(on_elemrnt=None)
  • 1

在一个元素上按住鼠标左键。 
参数:on_element:鼠标按下的元素。如果没有,在鼠标的当前位置单击。

context_click(on_elemrnt=None)
  • 1

在一个元素上右击。 
参数:on_element:要右击的元素。如果没有,在鼠标的当前位置单击。

double_click(on_elemrnt=None)
  • 1

双击一个元素。 
参数:on_elemrnt:要双击的元素。如果没有,在鼠标的当前位置单击。

drag_and_drop(source, target)
  • 1

在源元素上按住鼠标左键,然后移动到目标元素上并松开鼠标按键。 
参数:source:按下鼠标的元素 
target:松开鼠标的元素

drag_and_drop_by_offset(source, xoffset, yoffset)
  • 1

在源元素上按住鼠标左键,然后移动到目标位移并松开鼠标。 
参数:source:按下鼠标的元素 
xoffset:X轴位移 
yoffset:Y轴位移

key_down(value, element=None)
  • 1

仅仅按下一个按键,并不松开。只用于修饰键(Ctrl、Alt和Shift)。 
参数:value:要发送的修饰键。值在Keys类中定义了。 
element:发送按键值的元素。如果没有,就向当前焦点的元素的发送。 
比如按下ctrl+c:

ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
  • 1
key_up(value, element=None)
  • 1

松开修饰键。 
参数:value:要发送的修饰键。值在Keys类中定义了。 
element:发送按键值的元素。如果没有,就向当前焦点的元素的发送。 
比如按下ctrl+c:

ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
  • 1
move_by_offset(xoffset, yoffset)
  • 1

将鼠标从当前位置移动一定的位移。 
参数:xoffset:X轴位移,可以是正数也可以是负数。 
yoffset:Y轴位移,可以是正数也可以是负数。

move_to_element(to_element)
  • 1

把鼠标移动到一个元素的中间位置。 
参数:to_element:要将鼠标移动到那里的网页元素。

move_to_element_with_offset(to_element, xoffset, yoffset)
  • 1

将鼠标在一个指定的元素中移动一定的位移。位移是相对于元素的左上角。 
参数:to_element:要将鼠标移动到那里的网页元素。 
xoffset:X轴位移。 
yoffset:Y轴位移。

perform()
  • 1

启动储存的动作。

release(on_element=None)
  • 1

释放按在元素上的鼠标按键。 
参数:on_element:要释放鼠标的元素。如果没有,就在鼠标的当前位置释放。

send_keys(*keys_to_send)
  • 1

向当前获得焦点的元素发送按键值。 
参数:keys_to_send:要发送的按键。修饰键的常量在Keys类中已经定义。

send_keys_to_element(element, *keys_to_send)
  • 1

向一个元素中发送按键值。 
参数:element:要发送按键值的元素。 
keys_to_send:要发送的按键。修饰键的常量在Keys类中已经定义。

猜你喜欢

转载自blog.csdn.net/l1159015838/article/details/80925473