news 2026/4/16 16:16:13

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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")
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:27:21

从入门到应用:GTE-Base-ZH模型镜像化实践全解析

从入门到应用:GTE-Base-ZH模型镜像化实践全解析 1. 背景与核心价值 在当前检索增强生成(RAG)和语义搜索广泛应用的背景下,高质量的中文文本向量化能力成为系统性能的关键瓶颈。传统的关键词匹配方式难以捕捉用户真实意图&#x…

作者头像 李华
网站建设 2026/4/16 15:33:47

如何实现中文语义相似度计算?GTE轻量级镜像一键部署指南

如何实现中文语义相似度计算?GTE轻量级镜像一键部署指南 在自然语言处理(NLP)领域,语义相似度计算是构建智能搜索、问答系统、推荐引擎和RAG(检索增强生成)系统的核心能力之一。传统的关键词匹配方法已无法…

作者头像 李华
网站建设 2026/4/16 11:00:27

学霸同款2026 AI论文软件TOP9:专科生毕业论文必备测评

学霸同款2026 AI论文软件TOP9:专科生毕业论文必备测评 2026年专科生论文写作工具测评:如何选出真正实用的AI助手 随着人工智能技术的不断进步,越来越多的学术辅助工具开始进入高校课堂,成为学生撰写论文的重要帮手。对于专科生而言…

作者头像 李华
网站建设 2026/4/16 10:55:45

无需GPU!用中文情感分析镜像实现高效文本情绪判断

无需GPU!用中文情感分析镜像实现高效文本情绪判断 在自然语言处理(NLP)的实际应用中,情感分析是一项高频且实用的技术能力。无论是用户评论监控、舆情分析,还是客服系统自动响应,快速准确地识别文本情绪倾…

作者头像 李华
网站建设 2026/4/15 19:57:05

分类模型效果对比:5大开源方案横向评测,云端3小时搞定

分类模型效果对比:5大开源方案横向评测,云端3小时搞定 1. 为什么需要分类模型横向评测? 当你需要为项目选择一个合适的分类模型时,面对众多开源方案往往会陷入选择困难。每个模型都宣称自己性能优异,但实际效果如何&…

作者头像 李华