操作元素

一、webdriver中常见的操作元素方式

1. clear:清除元素的内容

(1)clear() 用于清除输入框的默认内容

(2)登录框一般默认会有“账号”、“密码”等提示信息,如果直接输入内容,可能会与输入框的默认提示信息拼接,从而造成输入信息错误,所以建议输入前先clear()

2. send_keys:在元素上模拟按键输入

(1)send_keys("xxx") 用于在一个输入框里输入xx内容

(2)当我们在send_keys()方法中输入中文时,有可能会运行报错

3. click:单击元素

(1)click() 用于单击一个按钮

(2)可以单击任何可以点击的元素,文字、图片链接、按钮、下拉按钮等

4. submit:提交表单

submit()要求提交对象是一个表单,更强调对信息的提交

click()更强调事件的独立性

二、鼠标事件

用click()来模拟鼠标的单击操作,有关鼠标的操作,不单单只有单击,还有右击、双击等等,这些操作包含在ActionChains类中

ActionChains类中鼠标操作的常用方法有:

1.context_click() 右击

#coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
# 1.引入ActionChains类;2.定位到需要右击的元素;3.对定位到的元素执行鼠标右击操作
browser = webdriver.Chrome()
right = browser.find_element_by_xpath("xxx")
ActionChains(browser).context_click(right).perform()

(1)ActionChains用于生成用户的行为,所有的行为都存储在actionchains对象,通过perform()执行存储的行为

(2)perform()执行所有ActionChains中存储的行为,perform()同样也是ActionChains类提供的方法,通常与ActionChains()配合使用

(3)double_click() 双击、move_to_element() 鼠标悬停在一个元素上、click_and_hold() 按下鼠标左键在一个元素上与右击操作一致

2.drag_and_drop() 鼠标拖放操作

(1)drag_and_drop(source,target)

在源元素上按下鼠标左键,然后移动到目标元素上释放

source:鼠标按下的源元素

target:鼠标释放的目标元素

#coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
# 1.引入ActionChains类;2.定位元素的原位置、目标位置;3.执行移动操作
browser = webdriver.Chrome()
source = browser.find_element_by_id("xxx")
target = browser.find_element_by_id("yyy")
ActionChains.drag_and_drop(source,target).perform()

三、键盘事件

在使用键盘按键方法前需要先导入keys类包

from selenium.webdriver.common.keys import Keys

常用的键盘操作:

send_keys(Keys.BACK_SPACE) 删除键(Backspace)

send_keys(Keys.SPACE) 空格键(Space)

send_keys(Keys.TAB) 制表键(Tab)

send_keys(Keys.ESCAPE) 回退键(Esc)

send_keys(Keys.ENTER) 回车键(Enter)

send_keys(Keys.BACK_CONTROL,"a") 全选(Ctrl+A)

send_keys(Keys.BACK_CONTROL,"c") 复制(Ctrl+C)

send_keys(Keys.BACK_CONTROL,"x") 剪切(Ctrl+X)

send_keys(Keys.BACK_CONTROL,"v") 粘贴(Ctrl+V)

猜你喜欢

转载自blog.csdn.net/qq_39620483/article/details/84728329
今日推荐