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

编程入门 行业动态 更新时间:2024-10-24 08:19:25

Selenium自动化(<a href=https://www.elefans.com/category/jswz/34/1726998.html style=鼠标键盘操作)"/>

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

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.webdrivermon.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.webdrivermon.keys import Keys   #需要导入keys这个模块
from selenium.webdrivermon.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'     #'='键

更多推荐

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

本文发布于:2024-02-12 17:32:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1688737.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:鼠标键盘   操作   Selenium

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!