Python+Selenium操作之键盘组合键模拟操作
2018-01-23 本文已影响97人
路由心定
CTRL+A全选操作
# coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
driver = webdriver.Firefox()
driver.maximize_window()
driver.get('http://www.baidu.com')
sleep(2)
element=driver.find_element_by_id('kw')
element.send_keys(u'路由心定')
sleep(2)
element.send_keys(Keys.CONTROL + 'a')
BACKSPACE删除操作
# coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
driver = webdriver.Firefox()
driver.maximize_window()
driver.get('http://www.baidu.com')
sleep(2)
element=driver.find_element_by_id('kw')
element.send_keys(u'路由心定')
sleep(2)
element.send_keys(Keys.BACKSPACE)
'''
加下划线与不加作用一样
'''
sleep(2)
element.send_keys(Keys.BACK_SPACE)
鼠标操作(ActionChains)
# coding=utf-8
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.maximize_window()
driver.get('http://www.baidu.com')
sleep(2)
#输入框
element=driver.find_element_by_id('kw')
element2=driver.find_element_by_id('su')
#element.send_keys(u'路由心定')
'''
单击操作
'''
ActionChains(driver).click(element2).perform()
print u'单击成功'
sleep(2)
'''
双击操作
'''
element1=driver.find_element_by_id('kw')
ActionChains(driver).double_click(element1).perform()
print u'右击成功'
'''
右键单击
'''
ActionChains(driver).context_click(element1).perform()
print u'右键点击成功'
'''
鼠标移动
'''
#目标位置:右侧百度首页
TargetElement=driver.find_element_by_xpath('/html/body/div[1]/div[1]/div/div[2]/a[1]')
ActionChains(driver).move_to_element(TargetElement).perform()
sleep(2)
#移动到指定元素坐标位置:move_by_offset(x,y).perform()
'''
拖拽
'''
action=ActionChains(driver)
#将目标1移动到2处
action.drag_and_drop(element1, element2).perform()
sleep(2)
#与上边语句作用一致
action.click_and_hold(element1).release(element2).perform()
sleep(2)
#将目标1拖拽到指定坐标下
action.click_and_hold(element1).move_by_offset(880, 88).release().perform()
sleep(2)
Actionchains方法列表
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) ——发送某个键到指定元素
欢迎关注我们的微信公众平台:我要学测试