【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
获取元素文字 textdeiver.find_element_by_id(“username”).text
获取元素属性get_attribute(属性名)deiver.find_element_by_id(“username”).get_attribute(name)
判断元素是否可见 is_displayed() 可见返回True,否则Falsedeiver.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

import time
import os
from selenium.webdriver import ActionChains
from selenium import webdriverdriver = 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')
键盘F1send_keys(Keys.F1)
键盘F12send_keys(Keys.F12)

使用示例:

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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/862458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

720漫游快速入门

720云全景漫游制作工具自2014年8月上线后,为数十万创作者提供全景图片&全景视频&高清矩阵上传、编辑、分享一站式软件服务,获得众多创作者的青睐与认可,同时也承载了创作者越来越多的期望,为了给大家提供更灵活多样的功能…

【Linux】动/静态库的创建和使用

目录 一、动/静态库的概念回顾: 二、动态库与静态库的区别: 三、静态库的创建与使用: 1、Linux静态库命名规则: 2、静态库的创建和使用: 四、动态库的创建与使用: 1、Linux动态库命名规则&#xff1…

【python】pop()函数

python pop() ,如何在Python的列表或数组中移除元素 使用 pop() 从列表中删除元素 pop() 语法概述 pop() 方法的语法如下: list_name.pop(index)list_name:列表变量名;内置的 pop() 方法仅需要一个可选参数;可选参…

Windows若要成为最受欢迎的操作系统,则需要解决5个问题

序言 Windows正变得与我在过去几十年中第一次喜欢和使用的操作系统大不相同,但尽管我觉得它偏离了崇高的道路,如果我可以成为CEO一天,那么我会改变以下五件事,让世界上最受欢迎的操作系统重回正轨。 非必要更新的永久延期 多年来…

鸿蒙HarmonyOS自定义组件开发和使用

自定义组件的介绍 在开发和使用自定义组件直接,我们需要了解什么是自定义组件? 在ArkUI中,UI显示的内容均为组件,由框架直接提供的称为系统组件,由开发者定义的称为自定义组件。在进行 UI 界面开发时,通常…

坑——python的redis库的decode_responses设置

python的redis库查询返回的值默认是返回字节串,可以在redis.Redis()方法中通过设置decode_responses参数,让返回值直接是字符串; 查询返回字节串是因为Redis()方法中decode_responses默认值是False: 设置decode_responses为True就…

【从零开始实现联邦学习】

1. 环境配置如下 python3.7pip install torchpip install torchvision 2. 代码如下 原书的代码存在一点bug,现已被作者修复 Client端代码如下 import torch.utils.dataclass Client(object):def __init__(self,conf,model,train_dataset,id1):self.conf conf …

为什么不再推荐使用 VRTK 4?

引言 VRTK (Virtual Reality Toolkit) 发布于2016年,初期受到了广大开发者的欢迎并被广泛采用。但是随着 VR 开发生态的发展,这款工具逐渐失去了最初的光芒。本文试图通过几个维度的分析,解释为什么目前不推荐使用 VRTK 进行开发的理由&…

Eigen中关于四元数的常用操作

四元数(Quaternion)是一种数学工具,广泛用于计算机图形学、机器人学和物理模拟中,特别适合处理三维旋转。Eigen库是一个高性能的C数学库,提供了丰富的线性代数功能,其中就包括对四元数的支持。 1. 为什么选…

mklink

文章目录 mklink概述笔记备注END mklink 概述 看一个开源工程中,有一个.bat脚本,用来建立符号链接。 用的是mklink, 试试,比快捷方式好用。 笔记 测试环境 win10x64-22H2 准备测试用的文件 D:\my_tmp\dir1\readme.txt mklink的命令行帮助…

Windows平台使用S3Browser连接兼容的对象存储

本文记录了在Windows平台使用S3Browser连接兼容的对象存储的过程 一、安装S3Browser 1、下载 S3Browser官网:https://s3browser.com/ 直接下载:https://s3browser.com/download/s3browser-11-6-7.exe 2、安装 3、同意授权后确定安装目录 4、勾选立即…

第7章 Redis的噩梦:阻塞

文章目录 前言1 发现阻塞2.内在原因2.1API或数据结构使用不合理2.1.1如何发现慢查询2.1.2.如何发现大对象 2.2 CPU饱和2.3 持久化阻塞2.3.1fork阻塞2.3.2.AOF刷盘阻塞2.3.3.HugePage写操作阻塞 3 外在原因3.1CPU竞争3.2 内存交换 前言 Redis是典型的单线程架构,所有…

Studying-代码随想录训练营day23| 39.组合总和、40.组合总和II、131.分割回文串

第23天,回溯part02,回溯两个题型组合,切割(ง •_•)ง💪 目录 39.组合总和 40.组合总和II 131.分割回文串 总结 39.组合总和 文档讲解:代码随想录组合总和 视频讲解:手撕组合总和 题目:…

【Qt】信号和槽机制

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

WINDOWS+PHP+Mysql+Apache环境中部署SQLi-Labs、XSS-Labs、UPload-Labs、DVWA、pikachu等靶场环境

web渗透测试学习&#xff0c;需要自己搭建一些靶场&#xff0c;本人主要介绍在WINDOWSPHPMysqlApache环境中部署SQLi-Labs、XSS-Labs、UPload-Labs、DVWA、pikachu等靶场环境。以下是靶场代码下载的链接&#xff1a; pikachu靶场代码 链接&#xff1a;https://pan.baidu.com/s…

废品回收小程序开发:提高废品回收效率

当下&#xff0c;废品回收已经成为了热门行业&#xff0c;家家户户几乎都会进行废品回收&#xff0c;无论是废纸盒还是塑料瓶等&#xff0c;都会送到废品回收站。不过&#xff0c;随着互联网的快速发展&#xff0c;传统的回收模式出现了大量的局限性&#xff0c;已经不能满足大…

探索Android架构设计

Android 应用架构设计探索&#xff1a;MVC、MVP、MVVM和组件化 MVC、MVP和MVVM是常见的三种架构设计模式&#xff0c;当前MVP和MVVM的使用相对比较广泛&#xff0c;当然MVC也并没有过时之说。而所谓的组件化就是指将应用根据业务需求划分成各个模块来进行开发&#xff0c;每个…

领夹麦克风哪个品牌音质最好?主播一般用什么麦克风?麦克风推荐

在这个充满创意与表达的时代&#xff0c;无线领夹麦克风以其独特的魅力&#xff0c;成为了声音创作者们的得力助手。它小巧便携&#xff0c;功能强大&#xff0c;无论是日常拍摄、直播互动还是专业演出&#xff0c;都能轻松应对&#xff0c;让你的声音随时随地清晰传递。那么&a…

# Kafka_深入探秘者(10):kafka 监控

Kafka_深入探秘者&#xff08;10&#xff09;&#xff1a;kafka 监控 一、kafka JMX 1、JMX &#xff1a;全称 Java Managent Extension 在实现 Kafka 监控系统的过程中&#xff0c;首先我们要知道监控的数据从哪来&#xff0c;Kafka 自身提供的监控指标(包括 broker 和主题的…

管理的核心是管人,管人的核心就是这3条,看懂的是高手

管理的核心是管人&#xff0c;管人的核心就是这3条&#xff0c;看懂的是高手 一&#xff1a;管欲 每个人都有欲望&#xff0c;无可厚非。管理者的任务就是利用欲望&#xff0c;管理欲望&#xff0c;通过欲望来达到管人的目的。 最需要管理的就是以下两种&#xff1a; 1、金…