zoukankan      html  css  js  c++  java
  • selenium+python自动化95-弹出框死活定位不到

    前言

    部分小伙伴学了selenium的alert后,就不管啥弹出框都去用alert,这是行不通的,看到弹出框,先要确定是不是alert,是才能用,不是的话肯定不能用。

    • 有些弹出框是div层,这种跟平常定位方法一样

    • 有些弹出框是嵌套的iframe层,这种切换iframe就可以了

    • 有些弹出框比较坑,是嵌入的一个窗口,这就是本篇要讲的内容了。

    遇到问题

    1.最近有小伙伴遇到一个弹出框的定位,如下图这种,看似普通的一个弹出框

    2.遇到这个问题做了以下尝试:

    • 首先,这种肯定不是alert,所以不能用alert去定位
    • 然后看看是不是有iframe,查看元素后,发现没有iframe
    • 前面加了sleep时间等待也无法解决

    解决问题

    1.通过打印获取全部的窗口,发现居然打印的是两个handle,也就是说,这个表面上看起来是一个窗口,实际上内嵌了另外一个窗口了。

    # 作者:上海悠悠
    
    # 打印所有的handle
    all_handles = driver.window_handles
    print(all_handles)
    
    # 切换到新的handle上
    driver.switch_to.window(all_handles[1])
    

    2.找到问题原因,接下来就简单了,先切换到新的窗口上,然后用平常的定位方法就可以了

  • 相关阅读:
    用机器学习来预测一个活动的总交易额值
    点击率模型的二三事
    git教程
    shell的查找与替换
    python中列表和元组以及字符串的操作
    自然语言处理第一课
    shell入门
    python基础知识
    SQL指令中一些特别值得注意的地方
    【python】json
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/8715207.html
Copyright © 2011-2022 走看看