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

这篇具有很好参考价值的文章主要介绍了selenium不定位元素直接使用键盘操作(如弹框操作)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

selenium不定位元素直接使用键盘操作(如弹框操作),python自动化,selenium,测试工具,弹框定位,不定位元素

使用的是下面这行代码

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')

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

这折腾的我,浪费了半天时间……不过也算是解决了,特此记录!!文章来源地址https://www.toymoban.com/news/detail-716082.html

到了这里,关于selenium不定位元素直接使用键盘操作(如弹框操作)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium新版元素定位方法、元素操作与基本API

    注意:selenium新版元素定位需要导入方法By,使用By来调用元素定位方法     from selenium.webdriver.common.by import By     标签的 id属性具有唯一性,就像人的身份证,不存在根据一个id属性定位到多个标签的情况。假设有个iframe标签如下,其 id 属性值为\\\"actionFrame\\\"。 我们可以通过

    2024年02月03日
    浏览(11)
  • selenium+python:点击元素、alert弹框、鼠标操作(左键点击、右键点击、双击、鼠标悬浮)、下拉选项框、窗口切换等操作的处

    driver=webdriver.Chrome() driver.maximize_window() driver.get(\\\"https://www.baidu.com/\\\") 在进行页面操作时,需要用鼠标进行左键点击、右键点击、双击、鼠标悬浮(比如鼠标移到某个位置就会出现一些元素)、鼠标拖动等操作,这时需要导入ActionChains模块 perform() 执行所有ActionChains 中存储的行为

    2024年02月05日
    浏览(20)
  • (三) selenium元素定位和常用操作(下)

    上一篇:(二) selenium元素定位(上)_要开朗的spookypop的博客-CSDN博客 本篇继续介绍常用的元素定位和常用操作。 通过链接文本定位 alerts弹窗 浏览器窗口操作 1、通过链接文本定位 上图是一个返回首页的链接,点击后跳转到首页,元素定位关键代码: driver.find_element(By.LINK_TEXT,

    2024年02月11日
    浏览(15)
  • selenium定位元素(包括父子,兄弟)及常见操作

    id定位:find_element_by_id() name定位:find_element_by_name() class定位:find_element_by_class_name() link定位:find_element_by_link_text() partial link定位:find_element_by_partial_link_text() tag定位:find_element_by_tag_name() xpath定位:find_element_by_xpath() css定位:find_element_by_css_selector() .表示当前节点,…表示父

    2023年04月08日
    浏览(12)
  • Selenium常见元素定位方法和操作的学习介绍

            官网地址: 4. Locating Elements — Selenium Python Bindings 2 documentation         这里有各种策略用于定位网页中的元素(locate elements),你可以选择最适合的方案,Selenium提供了一下方法来定义一个页面中的元素: find_element_by_id find_element_by_name

    2024年02月08日
    浏览(14)
  • 【Python+Selenium学习系列5】Selenium特殊元素定位之-鼠标悬停操作

    Selenium模拟用户在浏览器中的操作,比如点击按钮。在某些场景下,我们需要 模拟鼠标悬停的操作,来触发一些隐藏的元素。 本文将介绍Python Selenium实现鼠标悬停操作。 鼠标悬停,即 当光标与其名称表示的元素重叠时触发的事件,在Selenium中将键盘鼠标操作封装在Action Cha

    2024年04月10日
    浏览(20)
  • 【selenium自动化测试】如何定位页面元素,及对页面元素的操作方法

    selenium元素定位 ​selenium定位元素的方式有8种。 fild_element(by,value):by表示使用的定位方式,定位方式可以参见By类。value表示值,例如:根据id定位 By.ID,value=id属性的值。该方法返回元素对象,返回值如下: 这个返回结果说明:返回值为WebElement类的对象,元素在使用方法时

    2024年02月10日
    浏览(17)
  • Python+Selenium实现列表元素的查找定位及删除操作

    获取列表(单页)全部数据 删除某行元素 查找并删除元素(目前仅支持删除单条数据,循环删除待继续研究) 结果示例

    2024年02月13日
    浏览(14)
  • 【Selenium】隐藏元素的定位和操作|隐藏与isDisplay方法

    一、selenium 中隐藏元素如何定位? 如果单纯的定位的话,隐藏元素和普通不隐藏元素定位没啥区别,用正常定位方法就行了 但是吧~~~能定位到并不意味着能操作元素(如click,clear,send_keys) 二、隐藏元素 如下图有个输入框和一个登录的按钮,本来是显示的   元素的属性隐藏

    2024年04月10日
    浏览(10)
  • 【UI自动化】selenium元素定位各种框实例操作大全

    Text: 元素是input标签但是不能输入内容 第五个input输入框, disabled 属性被设置为 \\\"true\\\" 。 它被禁用了无法接收用户的输入。 第六个input输入框, readonly 属性指示该元素是否只读 ,如果设置了该属性,表示该元素只读不可编辑。因此,当 readonly 属性存在时,该输入框是不可

    2024年01月18日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包