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文件操作相关知识点总结整理
Feb 22 Python
Python Socket实现简单TCP Server/client功能示例
Aug 05 Python
python将字符串转换成json的方法小结
Jul 09 Python
利用Python小工具实现3秒钟将视频转换为音频
Oct 29 Python
tensorflow 只恢复部分模型参数的实例
Jan 06 Python
python上传时包含boundary时的解决方法
Apr 08 Python
浅析Python 条件控制语句
Jul 15 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
Sep 21 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
Dec 16 Python
python Pexpect模块的使用
Dec 25 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 Python
教你使用pyinstaller打包Python教程
May 27 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学习之PHP表达式
2006/10/09 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
2013/06/05 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
json跟xml的对比分析
2008/06/10 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
24岁生日感言
2014/01/13 职场文书
人事局接收函
2015/01/30 职场文书
会计主管岗位职责
2015/04/02 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
一篇文章带你深入了解Mysql触发器
2021/08/02 MySQL