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使用Berkeley DB数据库实例
Sep 26 Python
用Python中的wxPython实现最基本的浏览器功能
Apr 14 Python
python爬取51job中hr的邮箱
May 14 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
Python入门_浅谈for循环、while循环
May 16 Python
Python调用微信公众平台接口操作示例
Jul 08 Python
浅谈Python实现贪心算法与活动安排问题
Dec 19 Python
python 设置文件编码格式的实现方法
Dec 21 Python
Python 通过调用接口获取公交信息的实例
Dec 17 Python
对Django中的权限和分组管理实例讲解
Aug 16 Python
python使用建议技巧分享(三)
Aug 18 Python
python实现MD5进行文件去重的示例代码
Jul 09 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
虫族 Zerg 历史背景
2020/03/14 星际争霸
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
php ios推送(代码)
2013/07/01 PHP
php广告加载类用法实例
2014/09/23 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
Vue中 axios delete请求参数操作
2020/08/25 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
python动态性强类型用法实例
2015/05/09 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
《Python学习手册》学习总结
2018/01/17 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
python元组的概念知识点
2019/11/19 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
python3 实现口罩抽签的功能
2020/03/11 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
空气环保标语
2014/06/12 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
五年级学生期末评语
2014/12/26 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
关于环保的广播稿
2015/12/17 职场文书
全家福照片寄语怎么写?
2019/04/02 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript