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求crc32值的方法
Oct 05 Python
Python3.2中的字符串函数学习总结
Apr 23 Python
利用Opencv中Houghline方法实现直线检测
Feb 11 Python
Python把csv数据写入list和字典类型的变量脚本方法
Jun 15 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 Python
PyTorch 1.0 正式版已经发布了
Dec 13 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
python实现用类读取文件数据并计算矩形面积
Jan 18 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 Python
jupyter notebook 的工作空间设置操作
Apr 20 Python
python中_del_还原数据的方法
Dec 09 Python
用pushplus+python监控亚马逊到货动态推送微信
Jan 29 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
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
解析php中curl_multi的应用
2013/07/17 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
node.js中的console.warn方法使用说明
2014/12/09 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
Python中的浮点数原理与运算分析
2017/10/12 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
friso美素佳儿官方海外旗舰店:荷兰原产原罐
2017/07/03 全球购物
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
生物技术研究生自荐信
2013/11/12 职场文书
自动化专业职业生涯规划书范文
2014/01/16 职场文书
建筑工地文明标语
2014/10/09 职场文书
小学教育见习总结
2015/06/23 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS