news 2026/7/18 10:33:49

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/7/1 6:51:48

中文语义相似度计算实践|基于GTE轻量级镜像快速部署

中文语义相似度计算实践|基于GTE轻量级镜像快速部署 1. 业务场景与痛点分析 在构建智能客服、问答系统或内容推荐引擎时,一个核心需求是判断两段中文文本是否“语义相近”。例如: 用户提问:“怎么重置密码?” vs 知…

作者头像 李华
网站建设 2026/7/2 14:08:43

零代码部署GTE中文向量模型|Web界面实时计算文本相似度

零代码部署GTE中文向量模型|Web界面实时计算文本相似度 1. 背景与核心价值 在当前的自然语言处理(NLP)应用中,语义相似度计算已成为搜索、推荐、问答系统和RAG(检索增强生成)等场景的核心能力。传统的关键…

作者头像 李华
网站建设 2026/7/1 7:54:03

语义相似度服务零报错部署|基于GTE-Base模型的WebUI可视化方案

语义相似度服务零报错部署|基于GTE-Base模型的WebUI可视化方案 在自然语言处理的实际应用中,判断两段文本是否“意思相近”是一项高频且关键的需求。无论是智能客服中的意图匹配、推荐系统中的内容去重,还是知识库问答的相似问题检索&#x…

作者头像 李华
网站建设 2026/7/15 3:04:40

场景题:订单超时自动取消方案设计

为什么需要延时任务我们来看一下几个非常常见的业务场景:某电商平台,用户下单半个小时未支付的情况下需要自动取消订单。某媒体聚合平台,每 10 分钟动态抓取某某网站的数据为自己所用。这些场景往往都要求我们在某指定时间之后去做某个事情&a…

作者头像 李华
网站建设 2026/7/15 3:04:39

具身新形态

具身新形态 2026年国际消费电子展(CES)作为全球消费电子领域的技术风向标,吸引了全球超4500家企业参展,而追觅科技以“具身智能”为核心的全品类产品矩阵成为此次展会的核心焦点,引发行业广泛热议与深度探讨。从可实现…

作者头像 李华