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中的文件I/O操作
May 24 Python
python中getaddrinfo()基本用法实例分析
Jun 28 Python
Python实用技巧之利用元组代替字典并为元组元素命名
Jul 11 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 27 Python
python给微信好友定时推送消息的示例
Feb 20 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
基于python检查SSL证书到期情况代码实例
Apr 04 Python
Python爬虫抓取指定网页图片代码实例
Jul 24 Python
python单元测试框架pytest的使用示例
Oct 07 Python
Python利用folium实现地图可视化
May 23 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
python ansible自动化运维工具执行流程
Jun 24 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
新浪的图片新闻效果
2007/01/13 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
vue组件 $children,$refs,$parent的使用详解
2017/07/31 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
C++如何引用一个已经定义过的全局变量
2014/08/25 面试题
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
销售会计工作职责
2013/12/02 职场文书
项目建议书格式
2014/03/12 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python