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

Python3.x:获取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()

实例代码

from selenium import webdriver

#打开浏览器
driver = webdriver.Chrome()
#最大化浏览器
driver.maximize_window()
#打开页面
driver.get("http://****************/center_tjbg.shtml")
#通过contains函数,提取匹配特定文本的所有元素
frame = driver.find_element_by_xpath("//iframe[contains(@src,‘http://*********************/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.quit()

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

原文地址:https://www.cnblogs.com/lizm166/p/8367499.html

时间: 2024-10-02 22:09:58

Python3.x:获取iframe内嵌页面的源码的相关文章

iframe内嵌页面——跨域通讯

  <template> <div class="act-form"> <iframe :src="src" ref="iframe" frameborder="no" align="middle" width="100%" height="600px" scrolling="auto" /> <el-bu

[转]内嵌页面iframe以及和其兄弟iframe的相互传值

原文出处 iframe的调用包括以下几个方面:(调用包含html dom,js全局变量,js方法) 主页面调用iframe: iframe页面调用主页面: 主页面的包含的iframe之间相互调用: 主要知识点 1:document.getElementById("ii").contentWindow 得到iframe对象后,就可以通过contentWindow得到iframe包含页面的window对象,然后就可以正常访问页面元素了: 2:$("#ii")[0].co

内嵌页面iframe以及和其兄弟iframe的相互传值

主要知识点 1:document.getElementById("ii").contentWindow 得到iframe对象后,就可以通过contentWindow得到iframe包含页面的window对象,然后就可以正常访问页面元素了: 2:$("#ii")[0].contentWindow  如果用jquery选择器获得iframe,需要加一个[0]: 3:$("#ii")[0].contentWindow.$("#dd"

web端,qq互联以及微信登录接入流程(内嵌页面)总结

前言 实习过程中,我参与了web版相册管家的开发,负责登陆页面的前后端逻辑. 需要在登陆页接入QQ互联和微信扫码登陆,而且是用页面内嵌方式.回头来看其实两者都有文档指导,步骤清楚,并不复杂.但是第一次接触难免踩坑,在此梳理如下,方便今后开发参考. QQ互联 开发文档 https://wiki.connect.qq.com/%E7%BD%91%E7%AB%99%E5%BA%94%E7%94%A8%E6%8E%A5%E5%85%A5%E6%B5%81%E7%A8%8B 应用申请 申请appid和ap

HTML框架(frameset框架集和iframe内嵌框架)

HTML框架:1.frameset框架集2.iframe内嵌框架 1.frameset框架集 1.1 创建框架网页的步骤: (1)创建各个子窗口对应的HTML文件 (2)创建整个框架文件,分别引用子窗口文件 1.2 创建框架页面的基本语法:  <frameset cols="25%,50%,*" row="50%,*" border="5">  <frame src="top.html"> ......

Flume-NG内置计数器(监控)源码级分析

Flume的内置监控怎么整?这个问题有很多人问.目前了解到的信息是可以使用Cloudera Manager.Ganglia有图形的监控工具,以及从浏览器获取json串,或者自定义向其他监控系统汇报信息.那监控的信息是什么呢?就是各个组件的统计信息,比如成功接收的Event数量.成功发送的Event数量,处理的Transaction的数量等等.而且不同的组件有不同的Countor来做统计,目前直到1.5版本仍然只对三大组件:source.sink.channel进行统计分别是SourceCount

第三篇:属性_第二节:控件属性在页面及源码中的表示方式

一.属性在页面及源码中的表示方式 认真地看看页面中声明控件的代码,你会发现控件属性在页面中的表示千变万化.我们看看下面这些: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="控件属性在页面源码中的表达方式.aspx.cs" Inherits="CustomServerControlTest.控件属性在页面源码中的表达方式" %> <!DOCT

画线缩放、瞳距缩放、Line延长到指定长度,内附效果,源码供应,解压就跑

原文:画线缩放.瞳距缩放.Line延长到指定长度,内附效果,源码供应,解压就跑 前言 公司项目需要做个画线缩放,我司称之为瞳距缩放,简而言之就是:2张图,从第一张图画一条线,再从第二个图画一条线,第二条线以第一条为基准,延长到一致的长度,并同比缩放图片:文字太枯燥,请先实例图 例子1:以皮卡丘为例,我要把路飞的拳头缩放到皮卡丘头那么大 例子2:以皮卡丘的基准,缩小路飞,与其身高一致 好了,相比看了上面的2个效果图,就明白了大致意思,这个demo可以获得,Canvas里面的Line如何顺着线条方向

Matlab.NET混合编程技巧之——直接调用Matlab内置函数(附源码)

原文:[原创]Matlab.NET混合编程技巧之--直接调用Matlab内置函数(附源码) 在我的上一篇文章[原创]Matlab.NET混编技巧之--找出Matlab内置函数中,已经大概的介绍了matlab内置函数在混合编程中的优点,并通过程序找出了matlab中的大部分内置函数,当然更多人关心是如何像我所说得那样,不用直接编译,就直接在C#中调用这些内置函数.本文就带你揭开这些谜团. 声明,这篇文章是需要一点点混合编程基础的,基本概念和过程要懂一点,如果能简单成功混编一个简单的计算或者绘图例子