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

  • 相关阅读:
    sell -- js, 字符串去重,找到字符串中出现最多次数的字符,且输出多少次
    网络连接不了!
    sell -- js过滤敏感词
    动态绑定HTML
    web前端学习之HTML CSS/javascript之一
    web前端性能优化
    浅谈大型web系统架构
    应用越来越广泛的css伪类
    css3火焰文字样式代码
    7种html5css3网页图片展示特效代码
  • 原文地址:https://www.cnblogs.com/lizm166/p/8367499.html
Copyright © 2020-2023  润新知