zoukankan      html  css  js  c++  java
  • 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当做你的卧室,原来的主页面当做客厅,你从客厅需要进入到卧室,必须打开卧室的门,这一步骤就是切入

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

  • 相关阅读:
    hdu 1532(最大流)
    星沉月朗
    uva 818 (位运算 + 判环)
    SQL变量、Substring、charindex、case函数、去除重复
    C# Tostring格式
    asp.net导出word(word2007)
    asp.net生成缩略图
    正则表达式语法
    解压缩
    文件复制
  • 原文地址:https://www.cnblogs.com/king2/p/13657805.html
Copyright © 2011-2022 走看看