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应用的教程
Apr 16 Python
Python输出9*9乘法表的方法
May 25 Python
python使用matplotlib绘制折线图教程
Feb 08 Python
解决Python的str强转int时遇到的问题
Apr 09 Python
python XlsxWriter模块创建aexcel表格的实例讲解
May 03 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
详解如何用django实现redirect的几种方法总结
Nov 22 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
python使用Pandas库提升项目的运行速度过程详解
Jul 12 Python
python上传时包含boundary时的解决方法
Apr 08 Python
python 解决Fatal error in launcher:错误问题
May 21 Python
python中zip()函数遍历多个列表方法
Feb 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
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
javascript 多浏览器 事件大全
2010/03/23 Javascript
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
Under Armour安德玛荷兰官网:美国高端运动科技品牌
2019/07/10 全球购物
商务英语专业应届毕业生求职信
2013/10/28 职场文书
办公室保洁员岗位职责
2013/12/02 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
护士自荐信范文
2015/03/25 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
python实现自动化群控的步骤
2021/04/11 Python
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android