三、Selenium操作鼠标、键盘

1.通过元素的sendkeys实现简单的键盘操作:

#coding=utf-8

from selenium import webdriver

#要使用键盘操作,首先需要引入keys 包

from selenium.webdriver.common.keys import Keys

#import os

import time

driver = webdriver.Ie()

driver.get("http://www.mxvpnjsq.cc/member.php?mod=logging&action=login")

time.sleep(3)

driver.maximize_window() # 浏览器全屏显示

#driver.find_element_by_id("username_L70iK").clear()

driver.find_element_by_name("username").send_keys("1290800466")

#tab 的定位相相于清除了密码框的默认提示信息,等同上面的clear()

#通过.send_keys(keys.按键名称)调用按键:

#.send_keys(Keys.TAB) # 按TAB键

#.send_keys(Keys.ENTER) # 按回车键

driver.find_element_by_name("username").send_keys(Keys.TAB)

time.sleep(3)

driver.find_element_by_name("password").send_keys("15866584957")

#通过定位密码框,enter(回车)来代替登陆按钮

driver.find_element_by_name("password").send_keys(Keys.ENTER)

time.sleep(5)

driver.quit()


2.通过ActionChains类实现各种事件

from selenium.webdriver.common.action_chains import ActionChains

action=ActionChains(driver)

action.key_down(Keys.SHIFT).perform()#按下shift键

drinvr.find_element_by_xpath('xpath_path').click()#点击鼠标左键

action.key_up(Keys.SHIFT).perform()#松开shift键

#以上代码为shift+鼠标左键多选操作

action.key_down(keys.CONTROL).send_keys('a').key_up(keys.CONTROL).PERFORM()#ctrl+a键盘操作

#以下是键盘鼠标操作

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) ——按下某个键盘上的键

key_up(value, element=None) ——松开某个键

move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标

move_to_element(to_element) ——鼠标移动到某个元素

move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置

perform() ——执行链中的所有动作

release(on_element=None) ——在某个元素位置松开鼠标左键

send_keys(*keys_to_send) ——发送某个键到当前焦点的元素

send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

原文参考:http://blog.csdn.net/gaimechen/article/details/70155987

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容