【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 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')
键盘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.mfbz.cn/a/774585.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【ARM系列】1 of N SPI

1 of N模式 SPI 概述配置流程 概述 GIC-600AE支持1 of N模式SPI。在此模式下可以将SPI target到多个core,并且GIC-600AE可以选择哪些内核接收SPI。 GIC-600AE只向处于powered up 并且使能中断组的core发送SPI。 GIC-600AE会优先考虑那些被认为是active的核&#xf…

ORB-SLAM3源码分析(案例分析)

一、ORB-SLAM3简介 ORB-SLAM3 (Oriented FAST and Rotated BRIEF SLAM 3) 是一种视觉SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)系统,用于机器人和计算机视觉领域。它是ORB-SLAM系列的第三个版本&#xff…

Pandas 入门 15 题

Pandas 入门 15 题 1. 相关知识点1.1 修改DataFrame列名1.2 获取行列数1.3 显示前n行1.4 条件数据选取值1.5 创建新列1.6 删去重复的行1.7 删除空值的数据1.9 修改列名1.10 修改数据类型1.11 填充缺失值1.12 数据上下合并1.13 pivot_table透视表的使用1.14 melt透视表的使用1.1…

聊天交友系统开发专业语聊交友app开发搭建同城交友开发婚恋交友系统相亲app开发

1、上麦相亲互动:直播间内除了红娘外,还有男女用户两个视频麦位,直播间符合要求的用户可以申请上麦 2、公屏聊天:为上麦用户可以通过在公屏发言的方式参与直播间内的话题互动。 3、私信,异性用户之间可以发送私信消息,通过付费或开通会员可解…

ingress-nginx控制器证书不会自动更新问题

好久没更新了,正好今天遇到了一个很有意思的问题,在这里给大家分享下,同时也做下记录。 背景 最近想做个实验,当k8s集群中secret更新后,ingress-nginx控制器会不会自动加载新的证书。我用通义千问搜了下,…

笔记:Git学习之应用场景和使用经验

目标:整理Git工具的应用场景和使用经验 一、开发环境 Git是代码版本控制工具;Github是代码托管平台。 工具组合:VSCode Git 需要安装的软件:vscode、Git 其中vscode需要安装的插件:GitLens、Git History 二、应用…

客户文章|肠道微生物群在强迫症发病中的关键作用:琥珀酸信号揭示新机制

凌恩客户上海交通大学在《Molecular Psychiatry》期刊上(IF11.0)发表了关于强迫症患者肠道微生物菌群通过琥珀酸影响小鼠行为及病况的文章。该研究通过将强迫症患者的粪便微生物群移植至小鼠体内,诱导小鼠出现强迫症行为,改变了其肠道微生物群&#xff0…

LLM指令微调Prompt的最佳实践(五):文本转换Prompt

文章目录 1. 前言2. Prompt定义3. 编写文本转换的Prompt3.1 文本翻译3.1.1 识别语种3.1.2 多语种转换3.1.3 语气转换3.1.4 综合翻译器 3.2 风格转换3.3 文本格式转换3.4 拼写/语法纠错 4. 参考 1. 前言 前情提要: 《LLM指令微调Prompt的最佳实践(一&…

Python学习从0开始——Kaggle实践可视化001

Python学习从0开始——Kaggle实践可视化001 一、创建和加载数据集二、数据预处理1.按name检查,处理重复值(查重)2.查看存在缺失值的列并处理(缺失值处理)2.1按行或列查看2.2无法推测的数据2.3可由其它列推测的数据 3.拆…

Python爬取豆瓣电影+数据可视化,爬虫教程!

1. 爬取数据 1.1 导入以下模块 import os import re import time import requests from bs4 import BeautifulSoup from fake_useragent import UserAgent from openpyxl import Workbook, load_workbook1.2 获取每页电影链接 def getonepagelist(url,headers):try:r reque…

Android实现获取本机手机号码

和上次获取设备序列号一样,仍然是通过无障碍服务实现,在之前的代码基础上做了更新。代码和demo如下: package com.zwxuf.lib.devicehelper;import android.accessibilityservice.AccessibilityService; import android.app.Activity; import…

千万不能踏入的渠道管理五大误区!【附策略】

一、引言 在当今激烈的市场竞争环境中,有效的渠道管理是企业获得竞争优势的关键。然而,在实践过程中,不少企业因陷入管理误区而影响了市场拓展和品牌建设。本文旨在揭示渠道管理中常见的五大误区,并提供避免策略,帮助…

现代农业利器:土壤检测仪器的应用与未来

在现代农业发展的浪潮中,土壤检测仪器以其精准、高效的特点,成为了农业生产的得力助手。这些看似不起眼的设备,实际上在保障农产品质量、提高农业生产效率方面发挥着举足轻重的作用。 一、土壤检测仪器:现代农业的“眼睛” 土壤检…

科技云报道:人工智能“顶流”齐聚WAIC 2024,他们都做了什么?

科技云报道原创。 一个由智能驱动的未来世界长啥样? 从完成跨海跨城航线的“空中的士”、全无人驾驶汽车、实现奔跑功能的全尺寸通用人形机器人到百度文心一言、讯飞星火、阿里通义千问、华为盘古、商汤日日新等大模型,从智能制造引领的“灯塔工厂”到…

TTS文本转声音:fish-speech 推理、requests访问接口案例

参考: https://hub.docker.com/r/lengyue233/fish-speech https://speech.fish.audio/inference/#http-api 下载 下载模型: HF_ENDPOINT=https://hf-mirror.com huggingface-cli download fishaudio/fish-speech-1.2 --local-dir checkpoints/fish-speech-1.2下载的内容有…

GoodTask for Mac:优雅高效的任务管理助手

在快节奏的工作生活中,你是否需要一个优雅且高效的任务管理工具来助你一臂之力?GoodTask for Mac正是你的理想选择! GoodTask以其简洁直观的界面设计,让你一眼就能看清所有的待办事项。你可以轻松创建任务、设置提醒,…

请查收!模拟电路精选书单一份(可下载)

在电子工程的广阔天地中,模拟电路设计是一门艺术,也是一种科学。它要求设计师不仅要有深厚的理论知识,还要有精湛的实践技能。随着技术的发展,模拟电路设计领域不断涌现新的理论、技术和工具,这使得学习和掌握模拟设计…

虚拟ECU:纯电动汽车发展下的新选择

人类文明的进步是一个不断自我否定、自我超越的过程。21世纪以来,随着科技进步和经济社会发展,能源和交通系统已从独立于自然环境的孤立系统,转变为与自然、技术、社会深度耦合的复杂系统。为实现可持续发展和应对气候变化,世界各…

JDBC 学习笔记+代码整理

Tip Idea自带可视界面👉MySQL 图形化界面-CSDN博客 Idea2022无add Framework support选项👉最新版IDEA:Add web Framework Support步骤/构建JavaWeb项目步骤_idea add framework support-CSDN博客 基本步骤 1.加载驱动包Driver 2.建立与数据库的连接C…

MYSQL 设置主从同步

效果图 主数据库表数据 从数据库表数据 mysql 数据库配置:主数据库 设置主数据 my.cnf vim /etc/mysql/my.cnf 配置内容 [mysqld] server-id=1 log-bin=mysql-bin # 不需要同步的表 binlog-ignore-db=mysql binlog-ignore-db=sys binlog-ignore-db=performance_schema bi…