我国中小企业网站建设,置顶 wordpress,在线生成个人网站app,手机百度网址是什么导言
在之前的文章里#xff0c;我们一起学习了定位方式、等待机制等内容。相信通过之前的学习#xff0c;你已经掌握了WEB自动化的一些入门知识#xff0c;具备了编写代码的一些基础知识和能力。这篇文章#xff0c;让我们一起学习一下模拟键盘事件。 在实际的项目当中我们一起学习了定位方式、等待机制等内容。相信通过之前的学习你已经掌握了WEB自动化的一些入门知识具备了编写代码的一些基础知识和能力。这篇文章让我们一起学习一下模拟键盘事件。 在实际的项目当中有的时候我们需要利用到键盘的一些快捷键对网页进行操作或点击一些浏览器中的辅助功能这个时候我们就要用到键盘事件编写相应的代码实现模拟键盘的操作。 这篇文章共分四个小阶段四篇文章我将会为大家进行分解方便大家的查阅提升阅读体验。
学习目标
1、了解元素交互的常用方法本节目标 2、学习如何对多选元素进行操作本节目标 3、学习模拟鼠标进行相关操作 4、学习模拟键盘进行相关操作
Web元素交互
在selenium的官方文档中介绍了五种基本命令可用于元素的操作。selenium官方中文文档地址selenium官方文档 下面我们一起来学习1、点击 (适用于任何元素)2、发送键位 (仅适用于文本字段和内容可编辑元素)3、清除 (仅适用于文本字段和内容可编辑元素)4、提交 (仅适用于表单元素)5、选择 (参见 选择列表元素) 这些方法的设计目的是尽量模拟用户体验, 所以, 与 Actions接口 不同, 在指定制定操作之前,会尝试执行两件事。
点击
元素点击命令执行在元素中央. 如果元素中央由于某些原因被遮挡 , Selenium将返回一个元素点击中断错误。
#导包
from selenium import webdriver
# 初始化浏览器驱动
driver webdriver.Chrome()
username 18894687777 # 设置用户名
password 123456 # 设置密码
driver.get(http://csdnadmin/login.com/) # 打开项目网址
# 点击登陆按钮
driver.find_element(By.XPATH, //*[idbtnSearch]).click() 发送键位
元素发送键位命令 将录入提供的键位到可编辑的 元素. 通常, 这意味着元素是具有文本类型的表单的输入元素或具有内容可编辑属性的元素。如果不可编辑, 则返回 无效元素状态错误。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keysdriver webdriver.Chrome()
driver.get(http://www.google.com)
#模拟键盘事件-回车键操作表示确定
driver.find_element(By.NAME, q).send_keys(测试文字 Keys.ENTER)清除
元素清除命令重置元素的内容这要求元素可编辑, 且可重置通常, 这意味着元素是具有文本类型的表单的输入元素或具有 内容可编辑属性的元素. 如果不满足这些条件, 将返回无效元素状态错误。
el driver.find_element(By.XPATH, //input[namesearchKey])
el.send_keys(大王)
sleep(3)
#清除操作
el.clear()提交
在Selenium 4中, 不再通过单独的端点以及脚本执行的方法来实现.。因此, 建议不要使用此方法, 而是单击相应的表单提交按钮。可以忽略此处不做讲解。
选择
1、如何访问本地化的html文件 头部给出 – file:// 尾部给出 – 系统中的绝对路径 2、与其他元素相比选择列表具有特殊的行为。选择元素可能需要大量样板代码boilerplate code才能自动化. 为了减少这种情况并使您的测试更简洁, 在Selenium的support包中有一个 Select 类。
#导包
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.by import By
driver webdriver.Chrome()
# 创建一个select对象
select_element driver.find_element(By.ID, s1Id)
select_object Select(select_element)
sleep(3)#有三种方法可以选择选项
#选项索引
select_object.select_by_index(1)
sleep(3)
#选项value属性值
select_object.select_by_value(o3)
sleep(3)
#选项文本
select_object.select_by_visible_text(o3)
sleep(3)#检查所有被选择的选项
all_selected_options select_object.all_selected_options
print(检查所有被选择的选项)
print(all_selected_options
#返回列表中第一个被选择的选项
first_selected_option select_object.first_selected_option
print(返回列表中第一个被选择的选项)
print(first_selected_option)
#返回列表的所有选项
all_available_options select_object.options
print(返回列表的所有选项)
print(all_available_options)# 有四种方法可以取消选择仅适用于多选列表
#创建一个多选select对象
select_element driver.find_element(By.XPATH, //*[multiplemultiple])
select_multiple_object Select(select_element)
select_multiple_object.select_by_index(3)
select_multiple_object.select_by_index(1)
sleep(3)# 确定是否允许多选
does_this_allow_multiple_selections select_multiple_object.is_multiple
print(确定是否允许多选)
print(does_this_allow_multiple_selections)
#选项索引
select_multiple_object.deselect_by_index(3)
#选项value属性值
select_multiple_object.deselect_by_value(o1val)
#选项文本
select_multiple_object.deselect_by_visible_text(o3)
#取消所有被选择的选项
select_multiple_object.deselect_all()