• selenium之内嵌网页iframe切换


    IFRAME是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架(即行内框架)       -来自百度百科

    iframe,又叫浮动帧标记,是内嵌的网页元素,可以将一个html文件嵌入到另一个html文件中显示

    一般这种网页元素我们需要进行切入之后才能定位到具体的元素,如何做呢?下面代码是一种方法,并不能执行。

    from selenium import webdriver
    import time
    driver = webdriver.Chrome()
    driver.implicitly_wait(5)  # 隐式等待
    driver.get("http://www.xxx.com") #打开网页
    """
    对iframe进行操作,需要用到以下三种方法:
    switch_to_iframe()                       切换到iframe上(未来会被删除,不建议使用)
    switch_to.frame()                        切换到iframe上
    switch_to.default_content()              切换回原主页面
    """
    iframe = driver.find_element_by_id("f91fsd")  #定位到内嵌的iframe网页
    driver.switch_to.frame(iframe)   #切入到iframe
    driver.find_element_by_id("sw").send_keys("test") #然后对元素进行操作
    driver.switch_to.default_content()   #回到主页面,这一步一定要记得,有很多初学者会忘记写这一步导致无法定位到原页面元素
    time.sleep(5)
    driver.quit()

    看完代码相信你对iframe有一个大概的了解,其实你把里面的iframe当做你的卧室,原来的主页面当做客厅,你从客厅需要进入到卧室,必须打开卧室的门,这一步骤就是切入

    这时候你又想去客厅去拿杯子,就需要从卧室出去,出去这一步骤就是切出(回到主页面)。这样说的话是不是容易理解了。

  • 相关阅读:
    正则 匹配 HTML 标签
    webpack 打包图片 能否提高加载速度
    禁止手机浏览器左右滑屏 后退 前进
    Objective-C--@property,@synthesize关键字介绍
    ios--绘图介绍
    iOS--为视图添加阴影
    iOS--iOS7摄像头识别二维码功能
    iOS--日历事件的获取和添加
    iOS-#ifdef DEBUG代码块介绍
    如何将你的程序打包成ipa
  • 原文地址:https://www.cnblogs.com/king2/p/13657805.html
Copyright © 2020-2023  润新知