如何使用 python 处理 selenium 中的 javascript 警报

2024-03-04

所以我想点击这个按钮,如果这是你第一次点击它。将出现一个 JavaScript 警报弹出窗口。我一直在使用 firebug,只是找不到 javascript 所在的位置,我已经尝试过

if EC.alert_is_present:
        driver.switch_to_alert().accept()
else:
    print("no alert")

如果有警告框,上面的代码会起作用,但如果没有警告框,则会抛出错误。即使有一个 else 声明我什至尝试过

   if EC.alert_is_present:
            driver.switch_to_alert().accept()
   elif not EC.alert_is_present:
               print("no alert")

它向我抛出这个错误

selenium.common.exceptions.NoAlertPresentException: Message: No alert is present

我们如何解决这个问题?


使用 try catch 如果警报不存在则捕获NoAlertPresentException例外:

from selenium.common.exceptions import NoAlertPresentException

try:
    driver.switch_to_alert().accept()
except NoAlertPresentException as e: 
    print("no alert")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 python 处理 selenium 中的 javascript 警报 的相关文章

随机推荐

  • 动态添加组件到Wicket中的ListView

    我想制作一个带有 添加 按钮的表单 按 添加 按钮后 新面板将添加到检票口 ListView 元素 我怎么做 我希望能够添加无限数量的行 EDIT 交互式面板页面 html table tr td a href Add Panel a td
  • 即使不进行任何更改也无法快进

    我最终陷入了一个奇怪的 git 状态 我想从服务器拉取 仅快进 然而 即使没有任何变化 git 仍然告诉我 不可能快进 git pull v ff only From github com username repo up to date
  • CSS 句子首字母大写

    我想将句子的第一个字母大写 如果可能的话 也将逗号后面的第一个字母大写 我想在这里添加代码 qcont width 550px height auto float right overflow hidden position relativ
  • dcm4che 查询/检索 SCP

    首先 我是 dcm4che 的新手 没有良好的文档很难开始 因此请原谅我的无知 我必须开发一个查询 检索 SCP 并且我需要知道 doCFind 函数中由 SCU 输入的查询参数 例子 SCU 执行以下操作 dcmqr MYQR local
  • 如何撤消/恢复“npm 审核修复”

    正如标题所说 我跑了npm audit fix在命令中 现在我跑不了了npm run build因为它给了我错误 如何撤消npm audit fix 有这样的命令吗 运行后npm audit fix我收到此错误 D SUBLIME REAC
  • 如何将数据表转换为通用列表?

    目前 我正在使用 DataTable dt CreateDataTableInSomeWay List
  • Math.Abs​​(x) < double.Epsilon 是否等于 Math.Abs​​(x) == 0d?

    经过一番轻松阅读后 本文 http msdn microsoft com en us library system double epsilon 28v vs 110 29 aspx引起了我的兴趣 我本以为是的 根据 MSDN 的声明 这两
  • 如何在 Box2D 中设置形状/夹具/主体的中心

    嘿 我正在尝试集成 SFML 和 Box2D SFML 使精灵 形状等的设置中心变得非常容易 另一方面 Box2D 我遇到了麻烦 因为我不知道如何设置甚至找到形状或夹具的中心 在我看来 当手动添加顶点到 b2 PolygonShape 时
  • Bootstrap 工具提示 - 单击另一个工具提示时隐藏

    我希望有人能帮帮忙 我试图在单击另一个工具提示图标时隐藏工具提示 它有效 但是当我决定再次单击最后一个工具提示时 它会 闪烁 工具提示 var Hastooltip hastooltip HasTooltip on click functi
  • 从 Gradle 调用 Ant 任务时如何拦截或提升日志消息

    我从 gradle 脚本中调用 ant signjar 我怎样才能捕获它的输出 我既没有轻松管理它以将 INFO 的输出提升到另一个级别 也没有拦截或将错误警告的输出包装到 WARN 级别 目前 signjar 回显证书即将过期 但这并没有
  • 在剑道网格中,我可以使用函数动态设置列属性吗?

    我这里有一些代码 我试图根据数据项的值设置单元格的背景颜色 http dojo telerik com solidus flux eHaMu http dojo telerik com solidus flux eHaMu
  • jQuery 验证插件:如何验证下拉列表

    我正在尝试使用 jQuery Validate 插件来验证下拉列表 它正确验证了我表单的其余部分 但它不适用于下拉菜单 这是我的 jQuery campaignForm validate rules campaign name requir
  • 内容通过固定标头传递

    在我的 html 页面中 我用以下内容修复了标题 position fixed 当我向下滚动时 页面的内容会越过标题 我怎样才能解决这个问题 假设您的 HTML 如下 div div div div 尝试以下 CSS
  • 如何使用类型特征使数组到指针的转换明确?

    我想区分静态数组和指针 以下示例由于以下原因无法编译具有精确匹配的数组到指针转换 使两者foo的可能候选人 我能获得第二次超载吗foo使用类型特征明确选择 include
  • 静态编译libmagic(c/c++文件类型检测)

    感谢那些帮助我的人上一个问题 https stackoverflow com questions 2105816 trying to use include compile 3rd party library libmagic c c fi
  • 在 REST API 调用之前 OPTIONS 调用元

    我试图了解这个系统是如何在幕后工作的 该系统是REST基于这是相当标准的 我不明白客户做了什么OPTIONS在每次 API 调用之前调用 并以该格式返回 XML 内容 它使用 Jersey Java OPTIONS的回应DELETE met
  • System.Web.Mvc.HandleErrorInfo 模型类型错误

    我创建了正确的模型类型 但不明白它来自哪里 有任何想法吗 System InvalidOperationException The model item passed into the dictionary is of type Syste
  • 避免字符串替换中的 for 循环?

    我有数据 一个字符向量 最终我会折叠它 所以我不在乎它是否仍然是一个向量或是否被视为单个字符串 一个模式向量和一个替换向量 我希望数据中的每个模式都被其各自的替换所替换 我用一个完成了stringr和一个 for 循环 但是有没有更类似于
  • 如何修复 org.hibernate.LazyInitializationException - 无法初始化代理 - 无会话

    我得到以下异常 Exception in thread main org hibernate LazyInitializationException could not initialize proxy no Session at org
  • 如何使用 python 处理 selenium 中的 javascript 警报

    所以我想点击这个按钮 如果这是你第一次点击它 将出现一个 JavaScript 警报弹出窗口 我一直在使用 firebug 只是找不到 javascript 所在的位置 我已经尝试过 if EC alert is present drive