Python爬虫之Selenium中frame/iframe表单嵌套页面


Posted in Python onDecember 04, 2020

在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中。

本章中用到的关键方法如下:

  • switch_to.frame():切换为frame/iframe表单的内嵌页面中
  • switch_to.parent_frame():退出内嵌页面

以ip138网站为例

Python爬虫之Selenium中frame/iframe表单嵌套页面

from selenium import webdriver

driver = webdriver.Chrome()

# 打开ip138网站
driver.get("http://www.ip138.com/")

# 定位到内嵌网页(iframe),并进入表单
xf = driver.find_element_by_xpath('/html/body/div/div[3]/iframe')
driver.switch_to.frame(xf)
#driver.switch_to.frame(name or id) #默认直接取表单的id 或name属性,如果都没有则通过上边的定位方式
print(driver.find_element_by_xpath('/html/body/p[1]').text)

# 退出内嵌网页(iframe),如果想操作外层的页面,不退出是会报错的
driver.switch_to.default_content()
print(driver.find_element_by_xpath('/html/body/div/div[3]/h3').text)

driver.quit()

Selenium文集传送门:

标题 简介
Python爬虫 - Selenium(1)安装和简单使用 详细介绍Selenium的依赖环境在Windows和Centos7上的安装及简单使用
Python爬虫 - Selenium(2)元素定位和WebDriver常用方法 详细介绍定位元素的8种方式并配合点击和输入、提交、获取断言信息等方法的使用
Python爬虫 - Selenium(3)控制浏览器的常用方法 详细介绍自定义浏览器窗口大小或全屏、控制浏览器后退、前进、刷新浏览器等方法的使用
Python爬虫 - Selenium(4)配置启动项参数 详细介绍Selenium启动项参数的配置,其中包括无界面模式、浏览器窗口大小设置、浏览器User-Agent (请求头)等等
Python爬虫 - Selenium(5)鼠标事件 详细介绍鼠标右击、双击、拖动、鼠标悬停等方法的使用
Python爬虫 - Selenium(6)键盘事件 详细介绍键盘的操作,几乎包含所有常用按键以及组合键
Python爬虫 - Selenium(7)多窗口切换 详细介绍Selenium是如何实现在不同的窗口之间自由切换
Python爬虫 - Selenium(8)frame/iframe表单嵌套页面 详细介绍如何从当前定位的主体切换为frame/iframe表单的内嵌页面中
Python爬虫 - Selenium(9)警告框(弹窗)处理 详细介绍如何定位并处理多类警告弹窗
Python爬虫 - Selenium(10)下拉框处理 详细介绍如何灵活的定位并处理下拉框
Python爬虫 - Selenium(11)文件上传 详细介绍如何优雅的通过send_keys()指定文件进行上传
Python爬虫 - Selenium(12)获取登录Cookies,并添加Cookies自动登录 详细介绍如何获取Cookies和使用Cookies进行自动登录
Python爬虫 - Selenium(13)设置元素等待 详细介绍如何优雅的设置元素等待时间,防止程序运行过快而导致元素定位失败
Python爬虫 - Selenium(14)窗口截图 详细介绍如何使用窗口截图
Python爬虫 - Selenium(15)关闭浏览器 详细介绍两种关闭窗口的区别

到此这篇关于Python爬虫之Selenium中frame/iframe表单嵌套页面的文章就介绍到这了,更多相关Selenium frame/iframe表单嵌套内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python获得两个数组交集、并集、差集的方法
Mar 27 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
Python 将pdf转成图片的方法
Apr 23 Python
使用Django启动命令行及执行脚本的方法
May 29 Python
python实现自动发送报警监控邮件
Jun 21 Python
Pycharm以root权限运行脚本的方法
Jan 19 Python
Python如何使用k-means方法将列表中相似的句子归类
Aug 08 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
Python Switch Case三种实现方法代码实例
Jun 18 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
pytorch 移动端部署之helloworld的使用
Oct 30 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
Python爬虫之Selenium多窗口切换的实现
Dec 04 #Python
Python爬虫之Selenium实现键盘事件
Dec 04 #Python
python 爬虫请求模块requests详解
Dec 04 #Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 #Python
Selenium 配置启动项参数的方法
Dec 04 #Python
Python爬虫逆向分析某云音乐加密参数的实例分析
Dec 04 #Python
浅谈Selenium 控制浏览器的常用方法
Dec 04 #Python
You might like
PHP脚本的10个技巧(7)
2006/10/09 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
python脚本实现验证码识别
2018/06/07 Python
python 用for循环实现1~n求和的实例
2019/02/01 Python
django中forms组件的使用与注意
2019/07/08 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
html5教程画矩形代码分享
2013/12/04 HTML / CSS
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
花店创业计划书范文
2014/02/07 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
授权收款委托书
2014/09/23 职场文书
绿色校园广播稿
2014/10/13 职场文书
先进事迹材料范文
2014/12/29 职场文书
项目备案申请报告
2015/05/15 职场文书
怎样写好工作计划
2019/04/10 职场文书