Python获取浏览器窗口句柄过程解析


Posted in Python onJuly 25, 2020

句柄(handle)是C++程序设计中经常提及的一个术语。它并不是一种具体的、固定不变的数据类型或实体,而是代表了程序设计中的一个广义的概念。句柄一般是指获取另一个对象的方法——一个广义的指针,它的具体形式可能是一个整数、一个对象或就是一个真实的指针,而它的目的就是建立起与被访问对象之间的惟一的联系

使用 selenium 获取窗口句柄

from selenium import webdriver
import time

# chromedriver的绝对路径
# driver_path = r'D:\0SW\最临时软件\chromedriver.exe'
driver_path = r'D:\0SW\最临时软件\geckodriver.exe'

# 初始化一个driver,并且指定chromedriver的路径
# driver = webdriver.Chrome(executable_path=driver_path)
driver = webdriver.Firefox(executable_path=driver_path)

# 请求网页
driver.get("http://www.gsxt.gov.cn/index.html")

driver.execute_script("window.open('http://www.hao6v.com')")

# 打印窗口句柄
a = driver.window_handles
print(a)

# 切换窗口
driver.switch_to.window(driver.window_handles[1])

print(driver.current_url)
print(driver.page_source)

driver.switch_to.window(a[0]) # 选择第一个标签页 睡两秒 选择第二个标签页
time.sleep(2)
driver.switch_to.window(a[1])

虽然在窗口中切换到了新的页面,但是driver中还没切换

如果想要在代码中切换到新的页面,并爬取页面,那么应该使用driver.switch_to.window来切换到指定的窗口

从driver.window_handles中取出具体是 第几个窗口

driver.window_handles是一个列表,里边存储的是窗口句柄。他会按照打开的顺序来存储窗口句柄

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python Socket编程详细介绍
Mar 23 Python
python爬虫使用cookie登录详解
Dec 27 Python
python list删除元素时要注意的坑点分享
Apr 18 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
python求最大连续子数组的和
Jul 07 Python
Python去除字符串前后空格的几种方法
Mar 04 Python
python制作图片缩略图
Apr 30 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
python利用opencv实现SIFT特征提取与匹配
Mar 05 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
python Tornado框架的使用示例
Oct 19 Python
Python集合set()使用的方法详解
Mar 18 Python
用Python 爬取猫眼电影数据分析《无名之辈》
Jul 24 #Python
基于Python实现简单学生管理系统
Jul 24 #Python
用python实现学生管理系统
Jul 24 #Python
Python 解析简单的XML数据
Jul 24 #Python
深入了解NumPy 高级索引
Jul 24 #Python
python实现学生管理系统开发
Jul 24 #Python
浅析Python 多行匹配模式
Jul 24 #Python
You might like
PHP5 安装方法
2007/01/15 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
js单词形式的运算符
2014/05/06 Javascript
使用Browserify配合jQuery进行编程的超级指南
2015/07/28 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
python字典排序实例详解
2015/05/20 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
python虚拟环境迁移方法
2019/01/03 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
用python绘制樱花树
2020/10/09 Python
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
德国网上花店:Valentins
2018/08/15 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
家长会标语
2014/06/24 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
工作能力自我评价2015
2015/03/05 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android