一、前言
??本文章主要会讲解selenium中鼠标与键盘的操作、select用法以及js简易讲解,除此之外下方有系列文章的传送门,还在持续更新中,感兴趣的小伙伴也可以前往查看,话不多说,让我们一起看看吧~
系列文章: ??系列文章1:【Python自动化测试1】遇见Python之美 ??系列文章2:【Python自动化测试2】Python安装配置及PyCharm基本使用 ??系列文章3:【Python自动化测试3】初识数据类型与基础语法 ??系列文章4:【Python自动化测试4】字符串知识总结 ??系列文章5:【Python自动化测试5】列表与元组知识总结 ??系列文章6:【Python自动化测试6】字典与集合知识总结 ??系列文章7:【Python自动化测试7】数据运算符知识合集 ??系列文章8:【Python自动化测试8】流程控制语句讲解 ??系列文章9:【Python自动化测试9】函数知识合集 ??系列文章10:【Python自动化测试10】文件基础操作 ??系列文章11:【Python自动化测试11】模块、包与路径知识合集 ??系列文章12:【Python自动化测试12】异常处理机制知识合集 ??系列文章13:【Python自动化测试13】类、对象、属性与方法知识合集 ??系列文章14:【Python自动化测试14】Python自动化测试基础与进阶练习题 ??系列文章15:【Python自动化测试15】unittest测试框架的核心概念与作用 ??系列文章16:【Python自动化测试16】测试用例数据分离 ??系列文章17:【Python自动化测试17】openpyxl二次封装与数据驱动 ??系列文章18:【Python自动化测试18】配置文件解析与实际应用 ??系列文章19:【Python自动化测试19】日志系统logging讲解 ??系列文章20:【Python自动化测试20】接口自动化测试框架模型搭建 ??系列文章21:【Python自动化测试21】接口自动化测试实战一_接口概念、项目简介及测试流程问答 ??系列文章22:【Python自动化测试22】接口自动化测试实战二_接口框架修改及用例优化 ??系列文章23:【Python自动化测试23】接口自动化测试实战三_动态参数化与数据伪造 ??系列文章24:【Python自动化测试24】接口自动化测试实战四_Python操作数据库 ??系列文章25:【Python自动化测试25】接口自动化测试实战五_数据库断言、接口关联及相关管理优化 ??系列文章26:【Python自动化测试26】接口自动化测试实战六_pytest框架+allure讲解 ??系列文章27:【Python自动化测试27】Web自动化测试理论、环境搭建及常见操作 ??系列文章28:【Python自动化测试28】html基础语法 ??系列文章29:【Python自动化测试29】Xpath、轴运算及CSS元素定位详解 ??系列文章30:【Python自动化测试30】Web自动化之三大等待与三大切换
??
二、鼠标操作
??Web自动化中我们可以通过代码控制来进行鼠标操作,鼠标操作有很多种操作,例如单击、双击、按住不松、悬停,拖拽等等,让我们简单来认识下常见的鼠标操作:
from selenium.webdriver.common.action_chains import ActionChains
def click(driver, locator):
"""鼠标左键单击操作"""
el = driver.find_element(*locator)
el.click()
def double_click(driver, locator):
"""鼠标左键双击操作"""
el = driver.find_element(*locator)
action = ActionChains(driver)
action.double_click(el).perform()
def context_click(driver, locator):
"""鼠标右键单击操作"""
el = driver.find_element(*locator)
action = ActionChains(driver)
action.context_click(el).perform()
def move_to(driver, locator):
"""鼠标悬停操作"""
el = driver.find_element(*locator)
action = ActionChains(driver)
action.move_to_element(el).perform()
def drag_and_drop(driver, locator_start, Locator_end):
"""鼠标拖拽操作,起始位置拖拽至目标位置"""
start_el = driver.find_element(*locator_start)
end_el = driver.find_element(*Locator_end)
action = ActionChains(driver)
action.move_to_element(start_el, end_el).perform()
??
三、键盘操作
??键盘操作,常见的Web自动化中的键盘操作是输入文本、调用回车以及空格以及一些复制操作:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
time.sleep(2)
driver.find_element_by_id("kw").send_keys("CSDN")
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys('干饭人')
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a')
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'c')
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v')
driver.find_element_by_id("kw").send_keys(Keys.ENTER)
time.sleep(5)
driver.close()
??
四、select用法
??有些时候的下拉列表是select对象,我们就需要使用select方式进行定位:
from selenium.webdriver.support.select import Select
from selenium import webdriver
driver = webdriver.Chrome()
select_el = driver.find_element("xpath", "value")
s = Select(select_el)
s.select_by_value("最近一周")
s.select_by_index(0)
s.select_by_visible_text("最近一周")
?? ??
??好啦~以上就是本次文章分享的全部内容啦,你学会了吗?希望能给大家带来帮助哦!
???? ??
|