zoukankan      html  css  js  c++  java
  • WebDriver中如何处理Iframe 及 嵌套Iframe

    最近在用webdriver进行爬虫的时候,遇到了网站存在iframe的情况,处理了好久没有解决,后来发现原来webdriver自带处理方法,汗颜。。

    1、iFrame有ID 或者 name的情况

    //进入id="frame1"的frame中,定位id="div1"的div和id="input1"的输入框。

    dr.switchTo().frame("frame1");
    dr.findElement(By.id("div1"));
    dr.findElement(By.id("input1"))

    2、如果一个iFrame既没有id,也没有name,通用情况
    // 定位frame位置,并选取frame(通过xpath来进行定位)
    WebElement frame=driver.findElement(By.xpath( "/html/body/div[2]/div[8]/div[2]/div[3]/div/div[2]/div/iframe" ));
    driver.switchTo().frame(frame);

    3、跳出iFrame
    //跳出frame,进入default content;重新定位id="id1"的div
    dr.switchTo().defaultContent();

    dr.findElement(By.id("id1"))

    4、如果处理嵌套Iframe

    业务场景: 定位“申请产品”下拉框,然后选择值操作:

    页面控件元素如下图所示:

    从信息来看:

    第一个 Iframe 里面写的是 申请信息 页签
     
    第二个Iframe 里面写的是 申请产品 借款用途等等内容

    那下面如何来进行定位呢

    一层一层来跳进Iframe中   退出是也一层一层进行

     


    driver.switchTo().frame("cont_right_show");

    driver.switchTo().frame("addLoanApp2");

  • 相关阅读:
    个人技术博客(α)
    git常用命令合集
    软件工程实践2017第二次结对作业
    软件工程实践2017第一次结对作业
    软件工程实践2017第二次作业
    软件工程实践2017第一次作业
    学习总结
    约瑟夫
    今天是星期几
    斐波那契数列取石子游戏
  • 原文地址:https://www.cnblogs.com/itdyb/p/7456462.html
Copyright © 2011-2022 走看看