zoukankan      html  css  js  c++  java
  • selenium切换frame(iframe)

    例如网页代码为:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <body>
    <iframe id= "baidu" name="百度" src="http://www.BAIDU.com" HEIGHT="300" WIDTH="1280"></iframe>
    <iframe id= "sougou" name="搜狗" src="https://www.sogou.com/" HEIGHT="300" WIDTH="1280"></iframe>
    </body>
    </html>


    页面如下:



    当我们需要去定位百度搜索框的ID时,如上面的源码所示,是没有百度搜索框的ID,因为百度和搜狗页面是嵌套的链接,我们需要切换到百度的域里面,才可以定位到搜索框的ID

    from selenium import webdriver
    driver = webdriver.Firefox()
    driver.switch_to.frame(0) # 1.用frame的index来定位,第一个是0
    # driver.switch_to.frame("baidu") # 2.用id来定位
    # driver.switch_to.frame("百度") # 3.用name来定位
    # driver.switch_to.frame(driver.find_element_by_tag_name("百度")) # 4.用WebElement对象来定位
    # driver.switch_to.frame(driver.find_element_by_xpath("//iframe[contains(@id,'baidu')]")) # 5.用xpath定位,传入WebElement对象


    driver.switch_to.frame('baidu) # iframe一层一层的切入
    driver.switch_to.parent_frame() # iframe退后操作,一层一层的退回
    driver.switch_to.default_content() # 切换到主页面

    注意:

    使用driver.switch_to_frame()时,会提示该方法已经过时;

    需要使用新的driver.switch_to.frame()方法。

  • 相关阅读:
    android 的通知管理
    java 反射机制
    java基础知识梳理
    spring 知识梳理
    Orange's_1_win7下搭建环境
    编写安全代码:死循环
    我的kindle书单
    [更新Github地址]python学习,自己写了个简单聊天工具mychat
    给VIM和Terminal配色:Solarized
    Hive学习之路 (八)Hive中文乱码
  • 原文地址:https://www.cnblogs.com/fanqian0330/p/10381904.html
Copyright © 2011-2022 走看看