webUI自动化基础操作(二):鼠标、键盘的常用操作

from selenium import webdriver
from selenium.webdriver import ActionChains
import time 
# 打开浏览器
driver = webdriver.Chrome()
# 打开淘宝注册地址
driver.get('https://reg.taobao.com/member/reg/fill_mobile.htm')
time.sleep(1)
# 关闭注册须知
driver.find_element_by_xpath('//*[@id="J_AgreementBtn"]').click()
# 输入手机号码
driver.find_element_by_id('J_Mobile').send_keys(18812345678)
# 获得滑动确认的长度(尺寸)
span_size = driver.find_element_by_id('nc_1__scale_text').size
print(span_size)
# 滑动按钮的位置
button = driver.find_element_by_id('nc_1_n1z')
button_location = button.location
print(button_location)
# 活动轨迹=滑块位置+滑动长度(宽)
x_location = button_location["x"] = span_size ["width"]
# 活动线条的y轴
y_location = button_location["y"]
# (drag_and_drop_by_offset)拖动操作,操作的元素,活动的结束坐标,
ActionChains(driver).drag_and_drop_by_offset(driver.find_element_by_id('nc_1_n1z'), x_location , y_location).perform()
time.sleep(1)
# (move_to_element)鼠标悬停
ActionChains(driver).move_to_element(driver.find_element_by_css_selector('#J_SiteNavBdR > li.J_Menu.menu.my-taobao > div.menu-hd.J_MenuMyTaobao > a')).perform()
time.sleep(2)
# driver.find_element_by_xpath('//*[@id="J_SiteNavBdR"]/li[2]/div[2]/div/a[2]').click()
# 右键在某一位置
ActionChains(driver).context_click(driver.find_element_by_css_selector('#J_SiteNavBdR > li.J_Menu.menu.my-taobao > div.menu-hd.J_MenuMyTaobao > a')).perform()

# context_click(element):   
# 右击element元素

# double_click(element): 
# 双击element元素

# move_by_offset(xoffset,yoffset):   
# 移动鼠标到指定的x,y位置(相对于浏览器的绝对位置)

# move_to_element_with_offset(element, xoffset, yoffset):
# 相对element元素,移动鼠标到指定的x,y位置(相对于element元素的相对位置)

# click_and_hold(element1=None):   
# 在element1元素上按下鼠标左键,并保持按下动作(元素默认为空)

# release(element2=None):    
# 在element2元素上松开鼠标左键(元素默认为空)

# key_down(key , element1=None):    
# 在element1元素上,按下指定的键盘key(ctrl、shift等)键,并保持按下动作(元素默认为空)

# key_up(key , element2=None):  
# 在element2元素上,松开指定的键盘key(元素默认为空)

# send_keys(key):  
# 向当前定位元素发送某个key键

# send_keys_to_element(element ,key):
# 向element元素发送某个key键

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) ——发送某个键到指定元素 

(https://blog.csdn.net/CCGGAAG/article/details/75717186)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容