zoukankan      html  css  js  c++  java
  • Python3.x:selenium获取iframe内嵌页面的源码

    Python3.x:selenium获取iframe内嵌页面的源码

    前言

    在一些网页中经常会看到ifrmae/frame标签,iframe是嵌入式框架一般用来在已有的页面中嵌入另一个页面,当一个元素在iframe里时我们应该先切换到iframe里面。

    语法

    1.进入iframe

    iframe = self.driver.find_element_by_xpath("//iframe[contains(@src,'https://************/auth?e_p=1&response_type=token')]")
    
    self.driver.switch_to.frame(iframe)

    2.释放/退出iframe

    driver.switch_to_default_content()

    实例代码

    # python3
    # author lizm
    # datetime 2018-01-27 10:00:00
    '''
        Demo;selenium获取iframe内嵌页面源码
        获取select下拉选项    
    '''
    from selenium import webdriver
    
    #打开浏览器(不弹出浏览器页面)
    driver = webdriver.PhantomJS()
    #打开浏览器
    #driver = webdriver.Chrome()
    #最大化浏览器
    #driver.maximize_window()
    #打开页面
    driver.get("http://*************/center_tjbg.shtml")
    #通过contains函数,提取匹配特定文本的所有元素
    frame = driver.find_element_by_xpath("//iframe[contains(@src,'http://**************/cms-search/monthview.action?action=china&channelFidStr=e990411f19544e46be84333c25b63de6')]")
    #进入iframe页面
    driver.switch_to.frame(frame)
    #获取select标签
    select = driver.find_element_by_id("channelFidStr")
    # 获取select里面的option标签,注意使用find_elements
    options_list=select.find_elements_by_tag_name('option')
    # 遍历option
    for option in options_list:
        #获取下拉框的value和text
        print ("Value is:%s  Text is:%s" %(option.get_attribute("value"),option.text))
    
    #点击查询按钮事件
    #driver.find_element_by_css_selector("input[class = 'btn']").click()
    #退出iframe
    driver.switch_to_default_content()
    driver.quit()

    作者:整合侠
    链接:http://www.cnblogs.com/lizm166/p/8367499.html
    来源:博客园
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    udp用户数据报协议
    java调用url
    mybatis中的#和$的区别
    sun.misc.BASE64Encoder图片编码,并在页面显示
    oracle查看列数据类型
    MyBatis传入多个参数的问题
    ajax详解
    Comparable和Comparator的区别
    谈谈hashcode和equals的用法
    从为什么String=String谈到StringBuilder和StringBuffer
  • 原文地址:https://www.cnblogs.com/lizm166/p/8367499.html
Copyright © 2011-2022 走看看