Selenium基础篇之键盘操作(一)

news2025/1/21 22:07:44

文章目录

  • 前言
  • 一、常用方法(上)
  • 二、小剧场
    • 2.1场景
    • 2.2代码
      • 2.2.1引入库
      • 2.2.2启动浏览器实例
      • 2.2.3访问C站首页
      • 2.2.4窗口最大化
      • 2.2.5获取输入框元素
      • 2.2.6向输入框输入文字
      • 2.2.7使用退格键删除最后一个字符
      • 2.2.8全选输入框文字
      • 2.2.9剪切输入框文字
      • 2.2.10粘贴文字到输入框
      • 2.2.11回车查询
      • 2.2.12结束webdriver进程
    • 2.3效果
  • 总结


前言

大家好,我是空空star,本篇给大家分享一下Selenium基础篇之键盘操作。
本篇使用的selenium版本如下:
Version: 4.8.2


一、常用方法(上)

send_keys() 方法用于输入文本,
send_keys(Keys.ENTER) 方法用于模拟“回车”键,
send_keys(Keys.TAB) 方法用于模拟“Tab”键,
send_keys(Keys.SPACE) 方法用于模拟“空格”键,
send_keys(Keys.BACKSPACE) 方法用于模拟“退格”键,
send_keys(Keys.BACK_SPACE) 方法用于模拟“退格”键,
windows:
send_keys(Keys.CONTROL, ‘a’) 方法用于全选文本,
send_keys(Keys.CONTROL, ‘c’) 方法用于复制文本,
send_keys(Keys.CONTROL, ‘x’) 方法用于剪切文本,
send_keys(Keys.CONTROL, ‘v’) 方法用于粘贴文本。
mac:
send_keys(Keys.COMMAND, ‘a’) 方法用于全选文本,
send_keys(Keys.COMMAND, ‘c’) 方法用于复制文本,
send_keys(Keys.COMMAND, ‘x’) 方法用于剪切文本,
send_keys(Keys.COMMAND, ‘v’) 方法用于粘贴文本。

二、小剧场

2.1场景

打开C站首页,在toolbar输入框输入 空空star呀 ,删除最后一个字符呀,全选输入框文字,剪切输入框文字,粘贴文字到输入框,最后回车查询。

2.2代码

2.2.1引入库

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

2.2.2启动浏览器实例

driver = webdriver.Chrome()

2.2.3访问C站首页

driver.get('https://www.csdn.net/')

2.2.4窗口最大化

driver.maximize_window()

2.2.5获取输入框元素

search_input = driver.find_element(By.ID, 'toolbar-search-input')

2.2.6向输入框输入文字

search_input.send_keys('空空star呀')
# 强制等待,观察效果
sleep(2)

2.2.7使用退格键删除最后一个字符

search_input.send_keys(Keys.BACK_SPACE)
# 强制等待,观察效果
sleep(2)

2.2.8全选输入框文字

mac:Keys.COMMAND
windows:Keys.CONTROL

search_input.send_keys(Keys.COMMAND, 'a')
# 强制等待,观察效果
sleep(2)

2.2.9剪切输入框文字

mac:Keys.COMMAND
windows:Keys.CONTROL

search_input.send_keys(Keys.COMMAND, 'x')
# 强制等待,观察效果
sleep(2)

2.2.10粘贴文字到输入框

mac:Keys.COMMAND
windows:Keys.CONTROL

search_input.send_keys(Keys.COMMAND, 'v')
# 强制等待,观察效果
sleep(2)

2.2.11回车查询

search_input.send_keys(Keys.ENTER)
# 强制等待,观察效果
sleep(2)

2.2.12结束webdriver进程

driver.quit()

2.3效果


总结

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

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

相关文章

经验分享 | 科研行业如何搭建RASP防护体系?

多年来,开源网安长期服务金融、政府、科技等大型企业,针对不同实际应用场景,打造出了成熟落地的解决方案,提高并完善了企业安全防护技术与管理体系。今天,我们就来了解开源网安是如何为科研行业搭建RASP防护体系的。 科…

“ ES6+ —— 让你的JavaScript代码从平凡到精彩 “

前期回顾 【提高代码可读性】—— 手握多个代码优化技巧、细数哪些惊艳一时的策略_0.活在风浪里的博客-CSDN博客代码优化对象策略https://blog.csdn.net/m0_57904695/article/details/128318224?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%…

GQCNN

Berkeley AUTOLAB’s GQCNN Package — GQCNN 1.1.0 documentation (berkeleyautomation.github.io) (3条消息) 机器人抓取(六)—— 抓取点检测(抓取位姿估计) gqcnn代码测试与解读_zxxRobot的博客-CSDN博客 GQ-CNN模型对生成数据…

C#,OpenCv开发指南(02)——OpenCvSharp编程入门与矩阵Mat的基础知识

在 Visual Studio 中很方便搭建与使用 OpenCV 的 C# 的开发环境,几乎不用键盘输入。 使用 C# 开发 OpenCV 可以直接成为工业软件产品,而不是实验室程序。世界上几乎所有的视频厂家都提供 C# OpenCV 开发接口。 C#,人工智能,深度学…

常见jvm调优操作详细记录

最近很多小伙伴跟我说,自己学了不少JVM的调优知识,但是在实际工作中却不知道何时对JVM进行调优。今天,我就为大家介绍几种JVM调优的场景。 cpu占用过高 cpu占用过高要分情况讨论,是不是业务上在搞活动,突然有大批的流…

SpringBoot整合ELK做日志(超完整)

SpringBoot整合ELK日志系统 SpringBoot整合ELK做日志环境准备安装包准备ELK安装包Java11安装包 软件安装安装java11安装ElasticSearch安装Kibana安装Logstash 编写SpringBoot项目初始化SpringBoot项目修改代码编写Controller SpringBoot整合ELK做日志 环境准备 提前准备一台C…

SpringBoot+Linux操作系统与项目部署(这一篇就够了|超详细)

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,…

华为联合openEuler发布全新NFS+协议,实现NAS存储性能与可靠性倍增

在openEuler开发者大会2023上,华为携手openEuler发布NFS协议,实现单客户端访问NAS存储可靠性提升3倍、性能提升6倍,助力NAS存储全面满足新型生产核心场景下苛刻要求。 在数字转型的新时代,非结构化数据价值持续提升。金融、大企业…

一种IPC通信机制Gdbus详解

一、DBus介绍 常规进程间通信有管道,消息队列,共享内存,以及socket等,每个都有优劣,这次我们介绍一种高阶的进程间通信方式DBus。 DBus通信是IPC通信机制的一种方式,本身是建立在socket机制之上&#xff0…

计算机网络——快速了解常见应用层协议体系

文章目录 〇、加密算法对称加密非对称加密 一、远程登录——TELNET、SSH1.Telnet2.SSH 二、文件传输——FTP、SFTP、FTPS1.FTP2.SFTP3.FTPSSSL工作原理 三、电子邮件——SMTP、POP、IMAP1.SMTP(推送邮件)2.POP(接收邮件)3.IMAP 四…

计算机中的数据存储

计算机的存储规则: 文本、图片、声音所有的数据存储 在计算机当中一般会有三类数据:文本数据、图片数据以及声音数据其中文本它又包含了数字、字母以及汉字视频的本质是图片和声音的组合体。在计算机当中,任意的数据都是以二进制的形式来存储…

【Matlab】基于偏格式动态线性化的无模型自适应控制

例题来源:侯忠生教授的《无模型自适应控制:理论与应用》(2013年科学出版社)。 👉对应书本 4.3 单输入单输出系统(SISO)偏格式动态线性化(PFDL)的无模型自适应控制(MFAC) 上一篇博客介绍了基于紧格式动态线性化的无模型…

K8S---Service

服务原理 容器化的问题: 1.自动调度 无法预知pod所在节点,pod的IP地址 2.有故障时,换新节点新ip进行部署 service就是解决这些问题 自动跟踪 clusterip不变 都能找到对应pod 主要靠后端pod的标签 负载均衡 通过iptables/LVS规则将访问的请…

MySQL 数据库概述

数据(Data) 描述事物的符号记录包括数字,文字、图形、图像、声音、档案记录等以“记录”形式按统一的格式进行存储 表 将不同的记录组织在一起用来存储具体数据 记录:行 字段(属性):列 数…

[Gitops--7]Kubesphere 配置镜像仓库

Kubesphere 配置镜像仓库 1. Harbor https证书配置 1.1 生成Harbor证书 mkdir /apps/harbor/cert -p cd /apps/harbor/cert openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -subj "/CCN/STShanghai/LShanghai/Opana/OUDevops/CNharbor.i…

HBase(3):集群搭建

1 基础环境需求 jdk1.8以上Hadoopzookeeper 2 下载HBase安装包 Apache Downloads 3 安装 3.1 上传解压HBase安装包 tar -xvzf hbase-3.0.0-alpha-3-bin.tar.gz -C /opt/ 3.2 修改HBase配置文件 (1)修改hbase-env.sh cd /opt/hbase-3.0.0-alpha-3-bi…

【音视频第21天】RTP、RTCP结合wireshark抓包详解

感觉单纯看理论没啥意思,结合RTCP、RTP来看一看抓包详解 RTP 实时传输协议RTP(Realtime Transport Protocol):是针对Internet上多媒体数据流的一个传输协议, 由IETF作为RFC1889发布,现在最新的为RFC3550。RTP被定义为…

基于PyQt5的图形化界面开发——自制Redis图形化客户端(文末附源码)

基于PyQt5的图形化界面开发——自制Redis图形化客户端 前言1. Python第三方库安装及Redis学习1.1 Python第三方库安装1.2 Redis数据库安装和基础命令 2. 登录界面2.1 login.py2.2 image_login.py 3. 主界面3.1 main_ui.py3.2 image_main.py 4.界面切换5. 写在最后(附下载链接) …

软件测试笔记(三):黑盒测试

1 黑盒测试概述 黑盒测试也叫功能测试,通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作是一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试,只检查程序功能是否按…

Java——把数组排成最小的数

题目链接 牛客网在线oj题——把数组排成最小的数 题目描述 输入一个非负整数数组numbers,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组[3,32,321],则打印出这三个数字能…