您当前的位置: 首页 >  selenium

网易测试开发猿

暂无认证

  • 2浏览

    0关注

    221博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Selenium自动化(鼠标键盘操作)------详细

网易测试开发猿 发布时间:2021-11-26 16:32:52 ,浏览量:2

Selenium自动化(鼠标键盘操作) 一、模拟按键输入
driver.find_element_by_id('kw').send_keys("史蒂芬库里")

清除对象的内容,一般是对有默认值的时候:

time.sleep(3)
driver.find_element_by_id('kw').clear()

单击对象(此处实在百度官网测试):

driver.find_element(By.ID, "su").click()

提交表单,要求对象必须是表单:

driver.find_element_by_id('form').submit()

返回对象的尺寸(百度官网的搜索框):

a = driver.find_element_by_css_selector('#kw').size
print(a)
二、鼠标键盘事件

需要引入Selenium内置的ActionChains模块

from selenium.webdriver.common.action_chains import ActionChains

右击:

e = driver.find_element_by_id('kw').send_keys("史蒂芬库里")
ActionChains(driver).click(e).release(e).perform()

双击:(但常用的是click()函数)

driver.find_element_by_id('su').double_click()

左键单击、以及单击拆分

f = driver.find_element_by_id('kw').send_keys("史蒂芬库里")
ActionChains(driver).click(f).perform()   # 按住
ActionChains(driver).click_and_hold(f).release().perform()

左键双击:

g = driver.find_element_by_css_selector('#s-top-left > a:nth-child(3)')
ActionChains(driver).double_click(g).perform()

右键单击:

i = driver.find_element_by_css_selector('#s-top-left > a:nth-child(3)')
ActionChains(driver).context_click(i).perform()

拖动、拖拽(某宝电商网站测试):

j1 = driver.find_element_by_id('nc_1_nl2')
j2 = driver.find_element(By.CLASS_NAME, 'nc-lang-cnt')
ActionChains(driver).drag_and_drop(j1, j2).perform()    # 拖到一半

loc = j1.location
siz = j2.size
print(loc['x'],loc['y'])
print(siz['width'], siz['height'])
ActionChains(driver).drag_and_drop_by_offset(j1, loc['x']+siz['width'], loc['y']+siz['height']).perform()

移动:

k = driver.find_element(By.CSS_SELECTOR, '#s-top-left > a:nth-child(3)')
ActionChains(driver).move_to_element(k).perform()

按键(先定位元素,再按键):

from selenium.webdriver.common.keys import Keys   #需要导入keys这个模块
from selenium.webdriver.common.action_chains import ActionChains
driver.find_element_by_id('kw').send_keys('abc')
#ActionChains(driver).send_keys(Keys.TAB).perform()

复制 ctrl+c ctrl+v (在使用修饰键的时候需要key_down()和key_up()方法 修饰键包含 ctrl alt shift,类似alt+F4 ctrl+alt+delete不能使用)::

#模拟键盘输入 a
ActionChains(driver).key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform()
# 单击一下(复制了)
ele = driver.find_element_by_id('kw')
ActionChains(driver).click(ele).perform()
# 再粘贴
ActionChains(driver).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()

常用键盘key对照:

BACK_SPACE = BACKSPACE   #删除键
TAB = '\ue004'   #TAB键
ENTER = '\ue007'   #回车键
SHIFT = '\ue008'   #Shift键
LEFT_SHIFT = SHIFT
CONTROL = '\ue009'
LEFT_CONTROL = CONTROL   #Ctrl 键
ALT = '\ue00a'           #Alt 键
LEFT_ALT = ALT
PAUSE = '\ue00b'
ESCAPE = '\ue00c'   #ECS键
SPACE = '\ue00d'    #空格键 
PAGE_UP = '\ue00e'   #PgUp 键
PAGE_DOWN = '\ue00f' #PgDwon 键
END = '\ue010'    #END 键
SEMICOLON = '\ue018'  #';'键
EQUALS = '\ue019'     #'='键
关注
打赏
1665054478
查看更多评论
立即登录/注册

微信扫码登录

0.0399s