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
    来源:博客园
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    两个三汇API使用的坑
    呼叫中心系统架构
    呼叫中心搭建的前期准备步骤
    呼叫中心基础知识
    一步一步开发呼叫中心
    富文本框保存和显示问题
    WebApi和Andriod对接上传和下载文件
    WebApi和Andriod对接访问模式问题
    Sql Server Report Service 的部署问题
    Web API 路由访问设置
  • 原文地址:https://www.cnblogs.com/lizm166/p/8367499.html
Copyright © 2011-2022 走看看