实际工作中,可能会遇到某个页面元素,必须要把鼠标移动到上面才能显示出元素,或者元素需要鼠标双击等,或者需要键盘点击某个按键,那么这类操作, selenium给我们提供了ActionChains类,处理这些事件。
一、鼠标事件
ActionChains类可以模拟鼠标单击、双击、点击鼠标右键、拖拽等等操作事件。模拟鼠标操作需要先导入模块from selenium.webdriver.common.action_chains import ActionChains。
鼠标左键点击click()
还是使用上一篇文章中的例子,在腾讯企业邮箱页点击账户密码登录方式。
鼠标右键点击context_click(on_element=None)
输入邮箱账号密码,可以选择右键粘贴。
双击鼠标左键——double_click(on_element=None)
比如想双击某个元素。
其他操作还包括,都是类似的形式
drag_and_drop(source, target) ——拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开
move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标
move_to_element(to_element) ——鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置
二、键盘事件
上面说了鼠标事件,键盘事件也是非常重要的,比如我们需要按回车键,ctrl+c复制等等操作,都离不开键盘事件,在selenium中,提供了Keys方法来供我们操作键盘。
比如使用Tab键,从账户输入框跳到密码输入框。同样需要先导入模拟键盘模块from selenium.webdriver.common.keys import Keys。