selenium不定位元素直接使用键盘操作(如弹框操作)

2023-09-21 14:23:24

今天在使用selenium进行定位时,发现直接定位不了chrome的弹框,如这种弹框:

使用的是下面这行代码

driver.switch_to.alert.accept()

运行报错,说是没有 alert windown。。。。

啊?难道chrome的弹框不是用alert写的?emmm……还真是,现在很少使用alert这种原生弹框了,多多少少都会自己封装下,然后就……全网找解决方法……

既然定位不了的话,那我就直接键盘操作?然后在原界面试了下,还真可以用tab键、空格键进行切换,确认操作,太惊喜了,然后就开始试验:

第一个方法:(对我这种还是不起作用)

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time

# 模拟按键盘tab键
ActionChains(driver).send_keys(Keys.TAB).perform()
time.sleep(1)
# 模拟按键盘空格键
ActionChains(driver).send_keys(Keys.SPACE).perform()

但是如果不是弹框,直接在页面上模拟按键还是可以的,哎,继续找其他方法....

第二个方法:(亲测有效呀!!!)

又发现原界面不仅能使用tab键和空格键操作,左右键和回车键也是可以操作的,哈哈哈。。。

于是……找了以下方法

原来……我们不能通过selenium与这些弹出窗口交互,因为它们不是HTML的一部分。当弹出窗口打开时,你可以先按键盘上的左箭头,然后按回车键来接受它。在python中,可以使用pyautogui来完成这一操作:

import pyautogui

pyautogui.press('left')
pyautogui.press('enter')

啊。。。。终于可以了,让我一顿好找呀!!!

这折腾的我,浪费了半天时间……不过也算是解决了,特此记录!!

更多推荐

使用kubasz快速搭建Kubernetes集群

Kubernetes安装Kubernetes也称为K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统。ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。使用ansible

Kubernetes (K8s) 解读:微服务与容器编排的未来

🌷🍁博主猫头虎(🐅🐾)带您GotoNewWorld✨🍁🐅🐾猫头虎建议程序员必备技术栈一览表📖:🛠️全栈技术FullStack:📚MERN/MEAN/MEVNStack|🌐Jamstack|🌍GraphQL|🔁RESTfulAPI|⚡WebSockets|🔄CI/CD|🌐Git&Versio

Kubernetes-01-基础概念篇 基础组件&搭建一个K8S集群

K8S重要技术内容主要涵盖:集群架构、容器化应用部署、ScaleUp/Down、滚动更新、监控检查、集群网络、数据管理、监控与日志一、基础名词1.ClusterCluster是计算、存储、网络资源的集合,利用资源运行各种基于容器的应用2.MasterMaster是Cluster的核心,负责调度、控制。高可用版本,一般至

Kubernetes(K8s)上使用分布式存储(Distributed Storage)

摘要在Kubernetes(K8s)上使用分布式存储(DistributedStorage)是一种常见的方案,它可以为集群中的应用程序提供持久性和可扩展性。以下是在Kubernetes上使用分布式存储的说明:存储类(StorageClass):首先,你需要创建一个Kubernetes的存储类,用于定义分布式存储的属性和

KubeSphere Namespace 数据删除事故分析与解决全记录

作者:宇轩辞白,运维研发工程师,目前专注于云原生、Kubernetes、容器、Linux、运维自动化等领域。前言2023年7月23日在项目上线前夕,K8s生产环境出现故障,经过紧急修复之后,K8s环境恢复正常;另外我们环境引入了KubeSphere云原生平台技术,为了方便研发人员对于K8s权限的细粒度管理,我方手动将K

K8S的CKA考试环境和题目

CKA考试这几年来虽然版本在升级,但题目一直没有大的变化,通过K8S考试的方法就是在模拟环境上反复练习,通过练习熟悉考试环境和考试过程中可能遇到的坑。这里姚远老师详细向大家介绍一下考试的环境和题目,需要详细资料的同学请在文章后面留言。祝大家考试成功。K8S的考试环境CKA考试环境由三台虚拟机组成,这三台虚拟机姚远老师已

3.k8s dashboard设置域名登录案例(ingress版本为1.3.1)

文章目录前言一、安装ingress1.1下载ingress部署文件1.2查看是否安装成功二、配置dashboard域名映射2.1.在windows和linux添加上域名映射2.2生成tls证书2.3新增ingress配置2.3验证总结前言前面搭建了集群,配置了账号密码登录,现在配置k8sdashboard的域名登录,这

Augmented Large Language Models with Parametric Knowledge Guiding

本文是LLM系列文章,针对《AugmentedLargeLanguageModelswithParametricKnowledgeGuiding》的翻译。参数知识引导下的增强大型语言模型摘要1引言2相关工作3LLM的参数化知识引导4实验5结论摘要大型语言模型(LLM)凭借其令人印象深刻的语言理解和生成能力,显著提高了自

GPT4RoI: Instruction Tuning Large Language Model on Region-of-Interest

在图像-文本对上调整大语言模型(LLM)的指令已经实现了前所未有的视觉-语言多模态能力。然而,他们的视觉语言对齐仅建立在图像级别上,缺乏区域级别对齐限制了他​​们在细粒度多模态理解方面的进步。在本文中,我们提出对感兴趣区域进行指令调整。关键设计是将边界框重新表述为空间指令的格式。将空间指令和语言嵌入提取的视觉特征的交错

计算机网络基础知识(非常详细)

1.网络模型1.1OSI七层参考模型七层模型,亦称OSI(OpenSystemInterconnection)参考模型,即开放式系统互联,是网络通信的标准模型。一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。物理层:负责传输原始的比特流,数模转换、模数转

Postman应用——Collection、Folder和Request

文章目录Collection新建CollectionCollection重命名保存Request到Collection在Collection下创建Request删除CollectionFolder新建FolderFolder重命名保存Request到Folder在Folder下创建Request在Folder下创建Fo

热文推荐