WebDriver——》页面弹窗、鼠标键盘、显示等待、截图操作

1、页面弹窗

alert:只有确定按钮

alert = driver.find_element('xpath','//input[@onclick = "myalert()"]') alert.click() tc = driver.switch_to.alert #进入弹窗 tc.accept() #点击确定

prompt:弹窗可以输入文本,有确定、取消按钮

prompt = driver.find_element('xpath','//input[@onclick = "myprompt()"]') prompt.click() tc = driver.switch_to.alert #进入弹窗 tc.send_keys("弹窗文本输入") tc.accept() #点击确定

confirm:弹窗有哦确定、取消按钮

confirm = driver.find_element('xpath','//input[@onclick = "myconfirm()"]') confirm.click() tc = driver.switch_to.alert #进入弹窗 tc.accept() #点击确定 tc.dismiss() #点击取消

2、鼠标、键盘操作

常用的上传文件,系统弹窗选择文件页面无法定位,需要鼠标键盘操作,只支持英文名的文件

安装库:pip install pyuserinput -i https://pypi.tuna.tsinghua.edu.cn/simple
#导库: from pykeyboard import PyKeyboard from selenium.webdriver import ActionChains #获取文件上传的按钮元素 fileupload_element = driver.find_element('id','file') #滚动页面,把元素滑动到页面可见范围之内 fileupload_element.location_once_scrolled_into_view #点击文件上传 #fileupload_element.click() 默认的点击不生效,用ActionChains解决点击不生效的问题 ActionChains(driver).click(fileupload_element).perform() #等待文件选择弹窗 time.sleep(2) #输入文件路径,选择系统输入法为英文 keyboard = PyKeyboard() keyboard.type_string(r"d:\test.xlsx") #确认输入,按回车键 keyboard.press_keys([keyboard.enter_key])

3、显示等待

timeout=5 最大等待时间5s poll_frequency=0.5s 每0.5s调用一次method方法,自动默认0.5s,可不填写 message="元素不存在" 如果前面的条件不成立,就抛异常提示message
#导库: from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC #等待元素可见 WebDriverWait(driver,timeout=5,poll_frequency=0.5).until(method=EC.visibility_of_element_located(('id','百度')),message="元素不可见") #等待元素不可见 WebDriverWait(driver,timeout=5,poll_frequency=0.5).until_not(method=EC.visibility_of_element_located(('id','百度')),message="元素可见") #等待元素可点击 WebDriverWait(driver,timeout=5,poll_frequency=0.5).until(method=EC.element_to_be_clickable(('id','百度')),message="元素不可点击") #等待页面标题 WebDriverWait(driver,timeout=5,poll_frequency=0.5).until(method=EC.title_contains(('搜索结果')),message="搜索结果为空") #等待元素加载完成 WebDriverWait(driver,timeout=5,poll_frequency=0.5).until(method=EC.presence_of_all_elements_located(('id','百度')),message="元素加载未完成")

4、屏幕截图(页面如果有弹窗会报错)

#保存成图片 driver.get_screenshot_as_file('img/screeshot.png') #返回图片二进制 driver.get_screenshot_as_png() #返回图片base64 driver.get_screenshot_as_base64()

解决方案:

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/

pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

#导库 from PIL import ImageGrab ImageGrab.grab().save("img/PIL_screeshot.png")

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

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

相关文章

如何在移动端高效部署大模型?AutoGLM-Phone-9B实践指南

如何在移动端高效部署大模型?AutoGLM-Phone-9B实践指南 随着边缘智能的快速发展,将大语言模型(LLM)部署到移动设备已成为提升用户体验、保障数据隐私的关键路径。然而,受限于终端算力、内存与功耗,如何在资…

如何高效实现中文语义匹配?GTE轻量级镜像一键启动方案

如何高效实现中文语义匹配?GTE轻量级镜像一键启动方案 1. 背景与挑战:为什么需要高效的中文语义匹配? 在当前AI应用广泛落地的背景下,语义理解能力已成为搜索、推荐、智能客服等系统的核心竞争力。传统的关键词匹配方式已无法满…

今年有想法参加护网的同学必看!!!新手如何参加护网行动!(非常详细),从零基础入门到精通,看完这一篇就够了!

01 什么是护网行动 护网行动是以公安部牵头的,用以评估企事业单位的网络安全的活动。 具体实践中,公安部会组织攻防两方,进攻方会在一个月内对防守方发动网络攻击,检测出防守方(企事业单位)存在的安全漏洞…

采购、供应商、订单三条线怎么打通?用一张流程图讲透协同逻辑

我先说一个你肯定不陌生的场景:订单来了, 销售很兴奋, 计划开始算, 采购马上发询价。然后呢?采购说:我已经下单了供应商说:我以为可以晚点交生产说:物料怎么还没到老板问&#xff1a…

移动端多模态AI落地新思路|AutoGLM-Phone-9B技术深度拆解

移动端多模态AI落地新思路|AutoGLM-Phone-9B技术深度拆解 随着移动智能设备对AI能力的需求日益增长,如何在资源受限的终端上实现高效、精准的多模态理解成为业界关注的核心问题。传统大模型因计算开销高、内存占用大,难以直接部署于手机等边…

CTF之逆向Reverse入门推荐学习知识点总结面向新手小白

一、CTF之逆向 写这篇文章,主要是解决自己当初不知道怎么入门的困惑,算是替曾经的自己写的吧,博主也还在入门,请路过的佬勿喷。 CTF主要分为五个方向,Web、pwn、crypto、misc和reverse(逆向) …

【研知有术论文发表】非常好投的医学三区SCI期刊推荐,国人友好,录用容易

ISSN:1550-7416五年影响因子:4.1收录数据库:SCIE、Scopus等丨期刊简介《AAPS Journal》是美国药物科学家协会(American Association of Pharmaceutical Scientists, AAPS)的期刊,由Springer出版&#xff0c…

MapReduce 实战详解:学生成绩统计案例

一、MapReduce 概述1. 定义MapReduce 是一种分布式并行计算的编程模型与框架,由 Google 提出核心思想,Apache Hadoop 进行开源实现,是大数据离线批量处理的核心技术。它专门解决海量数据(TB/PB 级别)的高效处理问题&am…

WBS / 项目编码与项目 / 模板的关联操作(核心在 OPSA + 模板配置)

WBS / 项目编码与项目 / 模板的关联操作(核心在 OPSA 模板配置)WBS / 项目编码的规则(OPSJ 的掩码),是通过项目参数文件(OPSA) 关联到具体项目 / 项目模板的,同时模板本身也需要单独…

基于DP_MPC算法的氢能源动力无人机能量管理 背景:随着氢燃料的开发,氢能源被应用到许多领域...

基于DP_MPC算法的氢能源动力无人机能量管理 背景:随着氢燃料的开发,氢能源被应用到许多领域,但是由于其不能储能,所以通常与储能元件搭配使用,复合电源就涉及到能源分配问题,于是需要一个合适的能量管理算法…

电商抠图效率翻倍|使用CV-UNet大模型镜像实现自动化处理

电商抠图效率翻倍|使用CV-UNet大模型镜像实现自动化处理 TOC 1. 引言:电商图像处理的痛点与破局之道 在电商平台运营中,商品图片的质量直接影响转化率。传统的人工抠图方式不仅耗时耗力,还难以保证边缘细节的一致性,…

从零部署AutoGLM-Phone-9B|移动端90亿参数模型运行全步骤

从零部署AutoGLM-Phone-9B|移动端90亿参数模型运行全步骤 1. AutoGLM-Phone-9B 模型简介与部署价值 1.1 多模态轻量化大模型的技术定位 AutoGLM-Phone-9B 是基于智谱AI GLM架构深度优化的移动端专用多模态大语言模型,在保持90亿参数规模的同时&#x…

导师不会说的9款AI论文神器,巨鲸写作半天搞定全文!

开头:90%的学生不知道的论文“黑科技”,导师私藏的毕业捷径 你是否经历过这些绝望时刻? 熬夜一周写的初稿,被导师用红笔批满“逻辑混乱”“缺乏创新”,却不告诉你具体怎么改;为了降重,把“研究…

C# XML文件读取软件:支持自由定位与蛇形走位,主要应用于晶圆图谱识别

C#编写的一款读取xml文件的mapping图软件。 可以自由定位位置,统计数量,蛇形走位。 主要用在晶圆图谱识别。 基于对原始代码的深入分析,这是一套完整的晶圆测试Mapping图可视化与分析系统,主要用于半导体制造过程中的晶圆测试数据…

NPP 草原:Taullgarnsnaset,瑞典,1968-1969,R1

NPP Grassland: Tullgarnsnaset, Sweden, 1968-1969, R1 简介 该数据集包含三个 ACSII 文件(.txt 格式)。其中两个文件包含位于瑞典斯德哥尔摩附近 Tullgarnsnaset(约北纬 59.20,东经 17.50)的两个未放牧海滨草甸样地…

matlab仿真程序,二阶MASs,事件触发机制 这段代码是一个带有领导者的二阶多智能体的领导...

matlab仿真程序,二阶MASs,事件触发机制这段代码是一个带有领导者的二阶多智能体的领导跟随一致性仿真。以下是对代码的分析:1. 代码初始化了系统参数,包括邻接矩阵A、拉普拉斯矩阵L、系统的领导跟随矩阵H等。 2. 代码定义了一个二…

如何高效做中文情绪识别?试试这款轻量级CPU友好型大模型镜像

如何高效做中文情绪识别?试试这款轻量级CPU友好型大模型镜像 1. 引言:中文情感分析的现实挑战与新思路 在社交媒体监控、用户评论挖掘、舆情分析等实际业务场景中,中文情感分析已成为自然语言处理(NLP)的核心任务之一…

高精度中文文本匹配方案|基于GTE模型的WebUI与API双支持

高精度中文文本匹配方案|基于GTE模型的WebUI与API双支持 1. 项目背景与技术选型 在自然语言处理(NLP)领域,语义相似度计算是搜索、推荐、问答系统和大模型增强检索(RAG)等任务的核心基础。传统关键词匹配…

2026最新CTF知识点网址汇总大全,零基础入门到精通,收藏这篇就够了

2026最新CTF知识点网址汇总大全,零基础入门到精通,收藏这篇就够了 全网最全CTF资源导航站🔥从入门到进阶,看这篇就够了 经常会有粉丝朋友后台私信评论留言想要CTF相关资料,大白也深知大家想在CTF大赛中叱咤风云却苦于…

高效中文情绪识别方案|CPU版大模型镜像一键启动

高效中文情绪识别方案|CPU版大模型镜像一键启动 1. 背景与需求:轻量级中文情感分析的工程挑战 在实际业务场景中,中文情感分析广泛应用于用户评论挖掘、客服质检、舆情监控等领域。尽管大模型在精度上表现优异,但多数依赖GPU部署…