Selenium3.0 文档——selenium.webdriver.common.action_chains
2017-02-21 09:10
609 查看
class selenium.webdriver.common.action_chains.ActionChains(driver)
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()
或者动作被依次储存在队列中,然后启动:
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()
无论哪种方式,这些动作会按照调用的顺序依次启动。
创建新的ActionChains
参数:driver:用户启动动作的
WebDriver的实例。
click(on_elemrnt=None)
单击一个元素
参数:
on_element:要单击的元素。如果没有,在鼠标的当前位置单击。
click_and_hold(on_elemrnt=None)
在一个元素上按住鼠标左键。
参数:
on_element:鼠标按下的元素。如果没有,在鼠标的当前位置单击。
context_click(on_elemrnt=None)
在一个元素上右击。
参数:
on_element:要右击的元素。如果没有,在鼠标的当前位置单击。
double_click(on_elemrnt=None)
双击一个元素。
参数:
on_elemrnt:要双击的元素。如果没有,在鼠标的当前位置单击。
drag_and_drop(source, target)
在源元素上按住鼠标左键,然后移动到目标元素上并松开鼠标按键。
参数:
source:按下鼠标的元素
target:松开鼠标的元素
drag_and_drop_by_offset(source, xoffset, yoffset)
在源元素上按住鼠标左键,然后移动到目标位移并松开鼠标。
参数:
source:按下鼠标的元素
xoffset:X轴位移
yoffset:Y轴位移
key_down(value, element=None)
仅仅按下一个按键,并不松开。只用于修饰键(Ctrl、Alt和Shift)。
参数:
value:要发送的修饰键。值在
Keys类中定义了。
element:发送按键值的元素。如果没有,就向当前焦点的元素的发送。
比如按下ctrl+c:
ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
key_up(value, element=None)
松开修饰键。
参数:
value:要发送的修饰键。值在
Keys类中定义了。
element:发送按键值的元素。如果没有,就向当前焦点的元素的发送。
比如按下ctrl+c:
ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
move_by_offset(xoffset, yoffset)
将鼠标从当前位置移动一定的位移。
参数:
xoffset:X轴位移,可以是正数也可以是负数。
yoffset:Y轴位移,可以是正数也可以是负数。
move_to_element(to_element)
把鼠标移动到一个元素的中间位置。
参数:
to_element:要将鼠标移动到那里的网页元素。
move_to_element_with_offset(to_element, xoffset, yoffset)
将鼠标在一个指定的元素中移动一定的位移。位移是相对于元素的左上角。
参数:
to_element:要将鼠标移动到那里的网页元素。
xoffset:X轴位移。
yoffset:Y轴位移。
perform()
启动储存的动作。
release(on_element=None)
释放按在元素上的鼠标按键。
参数:
on_element:要释放鼠标的元素。如果没有,就在鼠标的当前位置释放。
send_keys(*keys_to_send)
向当前获得焦点的元素发送按键值。
参数:
keys_to_send:要发送的按键。修饰键的常量在
Keys类中已经定义。
send_keys_to_element(element, *keys_to_send)
向一个元素中发送按键值。
参数:
element:要发送按键值的元素。
keys_to_send:要发送的按键。修饰键的常量在
Keys类中已经定义。
相关文章推荐
- Selenium3.0 文档——selenium.webdriver.common.alert
- selenium.webdriver.common.action_chains
- Selenium3.0 文档——selenium.webdriver.common.by
- Selenium3.0 文档——selenium.webdriver.common.keys
- Selenium3.0 文档——selenium.webdriver.support.wait
- Selenium - Webdriver API /ActionChains API
- Selenium3.0 文档——selenium.webdriver.support.expected_conditions
- Fixing “selenium.common.exceptions.WebDriverException: Message: ‘Can\’t load the profile.”
- selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH
- selenium(webdriver)-safari:failed: java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.cre
- Python selenium.common.exceptions.WebDriverException
- selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PAT
- Fixing “selenium.common.exceptions.WebDriverException: Message: ‘Can\’t load the profile.” 分类: 问题总结 python下载 ubuntu python基础学习 2014-01-20 15:28
- selenium.common.exceptions.webdriverexception: message: unknown error: cannot find Chrome binary
- 【已解决】:selenium.common.exceptions.WebDriverException: Message: 'geckodriver' ...
- [译]Selenium Python文档:七、WebDriver API接口
- Selenium WebDriver – Common Used API
- Ruby-selenium-webdriver(一、学习查看文档、ie浏览器简单的执行例子)
- selenium.common.exceptions.WebDriverException: Message: "Can't load the profile.
- Selenium WebDriver 2.0 升级到3.0 需要注意的事项 (2)