• 关于Python+selenium 定位浏览器弹窗元素


    链接:https://www.jianshu.com/p/4c3330c1cdb5

    (1)div弹窗

    (2)新标签页弹窗

    (3)alert弹窗

    一,div弹窗

    div弹窗是浏览器中比较好定位的弹窗,定位的方法与普通的元素一样。不过这里会有一个坑,明明可以找到这个按钮,但是就是定位不到。这个就是因为当前有div弹窗弹出的时候,需要设置一下等待时间,等页面元素加载完毕,再去做其他操作。



    二,新标签页弹窗

    新标签页弹窗,则需要进行窗口的切换。此处第一个窗口打开百度首页,在打开一个新窗口打开京东首页,在两个窗口之间进行切换。切换到不同的窗口之后,就可以用常规的方法进行元素的定位。

    handles = driver.window_handles # 获取当前打开的所有窗口的句柄

    driver.switch_to.window(handles[N]) # 切换到其中一个窗口

    其中,获取的句柄下标从0开始,即第一个窗口为[0]、第二个窗口为[1],如此类推。使用switch_to.window方法切换到新标签页后就可以做其他操作了。

    三、alert弹窗

    在WebDriver中处理JS所生成的alert、confirm以及prompt十分简单,具体做法是使用switch_to.alert()方法定位到alert/confirm/prompt,然后使用text/accept/dismiss/send_keys等方法进行操作。

    1.text:返回alert/confirm/prompt中的文字信息。

    2.accept():接受现有警告框。

    3.dismiss():解散现有警告框。

    4.send_keys(keysToSend):发送文本至警告框。 keysToSend:将文本发送至警告框。

    如图所示,百度搜索设置弹出的窗口是不能通过前端工具对其进行定位的,这个时候就可以通过switch_to.alert()方法接受这个弹窗。


    selenium_弹出框的处理_TypeError: 'Alert' object is not callable

    问题描述:

        在使用selenium操作网页弹出框的时候,弹出框是alert类型,预想是点击弹出框的确定。在使用selenium中的switch_to.alert().accept()的方法报错

    报错如下:

    Traceback (most recent call last):
    File "F:/project/全国selenium_测试.py", line 59, in <module>
    huoqu_cookie1 = huoqu_cookie()
    File "F:/project/全国selenium_测试.py", line 50, in huoqu_cookie
    browser.switch_to.alert().accept()
    TypeError: 'Alert' object is not callable
    原因分析

        'Alert' object is not callable 的含义为Alert不能被函数调用,它不是一个函数。

    解决方案

    将alert后的括号去掉。

    正确代码:

    browser.switch_to.alert.accept()
    ————————————————
    版权声明:本文为CSDN博主「Urila」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/jss19940414/article/details/90268434

  • 相关阅读:
    Qt 配置fakevim
    CentOS安装Ruby组件
    Linux shell 操作 postgresql,并设置crontab任务
    修改win7锁定界面背景
    Ubuntu安装Redis
    Java 向SQL Server插入文件数据
    用VMware vSphere Client客户端登陆vsphere5提示错误
    DD应用实例
    shell初学
    deepin2014.1快捷键
  • 原文地址:https://www.cnblogs.com/wenjing2019/p/12036833.html
Copyright © 2020-2023  润新知