【selenium 】操作元素

操作元素

元素操作

元素操作 示例
清空输入框clear() deiver.find_element_by_id("username").clear()
输入文字send_keys() deiver.find_element_by_id("username").send_keys('zs')
元素点击 click() deiver.find_element_by_id("login").click()
获取元素尺寸 size: deiver.find_element_by_id("login").size
获取元素文字 text deiver.find_element_by_id("username").text
获取元素属性get_attribute(属性名) deiver.find_element_by_id("username").get_attribute(name)
判断元素是否可见 is_displayed() 可见返回True,否则False deiver.find_element_by_id("search").is_displayed()

鼠标操作

鼠标相关操作被封装在webdriver的ActionChains 类中

  • 导入:from selenium.webdriver import ActionChains
  • 常用的方法如下:
鼠标操作 示例
执行所有 ActionChains中存储的行为: perform()
右击 context click()
双击 double click()
拖动 drag and drop()
鼠标悬停 move to element()

mouseDemo.py

python 复制代码
import time
import os
from selenium.webdriver import ActionChains
from selenium import webdriver

driver = webdriver.Chrome()
file = open('mouse.html', 'r', encoding='utf-8')
file_path ='file:///'+ os.path.abspath('mouse.html')
driver.get(file_path)

#获取【推荐】元素,并右击
recommend_button = driver.find_element(by="id", value="recommend")
ActionChains(driver).context_click(recommend_button).perform() #右击,会浏览器自带的浮窗

#获取【热榜】元素,鼠标悬停
hot_button = driver.find_element(by="id", value="hot_list")
ActionChains(driver).move_to_element(hot_button).perform()
time.sleep(10) # 暂停10秒方便看效果

操作的页面,可在本章资源中下载,代码执行后效果如下:

键盘操作

  • 导入: from selenium import webdriver
  • 常用方法:
键盘操作类事件说明 示例
删除键(Backspace) send_keys(Keys.BACK_SPACE)
空格键(Space) send_keys(Keys.SPACE)
Tab键 send_keys(Keys.TAB)
回退键(Esc) send_keys(Keys.ESCAPE)
回车键(Enter) send_keys(Keys.ENTER)
全选(Ctrl+A) send_keys(Keys.CONTROL,'a')
复制(Ctrl+C) send_keys(Keys.CONTROL,'c')
剪切(Ctrl+X) send_keys(Keys.CONTROL,'x')
粘贴(Ctrl+V) send_keys(Keys.CONTROL,'v')
键盘F1 send_keys(Keys.F1)
键盘F12 send_keys(Keys.F12)

使用示例:

python 复制代码
from selenium import webdriver
#引入Keys 模块
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
#输入框输入内容
driver.find element by id ("kw"),send keys ("seleniumm" )
#删除多输入的一个m
driver.find element by id("kw").send keys (Keys .BACK SPACE)
#输入空格键+"教程"
driver.find element by id("kw").send keys (Keys.SPACE)
driver.find element by id("kw").send keys("教程")
#ctrl+a 全选输入框内容
driver.find element by id("kw").send keys (Keys .CONTROL, 'a' )
#ctrl+x剪切输入框内容
driver.find element by id("kw").send keys (Keys .CONTROL,
"x')
#ctrl+v粘贴内容到输入框
'v')
driver.find element by id("kw").send keys (Keys .CONTROL,
#通过回车键来代替单击操作
driver .find element by id("su").send keys (Keys .ENTER)
driver.quit()
相关推荐
祉猷并茂,雯华若锦1 小时前
Win下完美解决Allure报错,生成Web自动化测试报告
android·python·selenium·自动化
ClouGence1 天前
哪些场景适合做自动化测试?这 4 类最值得优先投入
selenium·测试
ClouGence1 天前
Selenium vs CueCast:自动化测试一定要写代码吗?
selenium·测试
ClouGence3 天前
自动化测试,如何让每个用例都保持登录状态?
selenium·测试
ClouGence3 天前
手动测试工程师有必要学自动化测试吗?手工测试还有前途吗?
selenium·测试·求职
小小测试开发4 天前
Playwright vs Selenium vs Cypress:从浏览器协议到 API 设计的全面对比与实测
人工智能·selenium·测试工具
一孤程4 天前
Pytest+Selenium搭建自动化框架-保姆级实战教程
selenium·自动化·pytest
天才测试猿5 天前
Selenium自动化测试网页加载太慢怎么解决?
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
李宸净6 天前
Web自动化测试selenium+python
前端·python·selenium
前进别停留7 天前
selenium基本使用方式
java·selenium