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中global与nonlocal比较
Nov 21 Python
查看Python安装路径以及安装包路径小技巧
Apr 28 Python
Python实现中一次读取多个值的方法
Apr 22 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
May 31 Python
python实现多人聊天室
Mar 31 Python
对numpy中的where方法嵌套使用详解
Oct 31 Python
win7 x64系统中安装Scrapy的方法
Nov 18 Python
python基于递归解决背包问题详解
Jul 03 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
Feb 17 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 Python
Python dict的常用方法示例代码
Jun 23 Python
python图片验证码识别最新模块muggle_ocr的示例代码
Jul 03 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 批量删除数据的方法分析
2009/10/30 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
php内存缓存实现方法
2015/01/24 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
js弹出div并显示遮罩层
2014/02/12 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
python字典get()方法用法分析
2015/04/17 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
python主要用于哪些方向
2020/07/05 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
公司门卫岗位职责
2014/03/15 职场文书
求职意向书
2014/07/29 职场文书
初中家长评语和期望
2014/12/26 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
python中sys模块的介绍与实例
2021/04/17 Python
python 经纬度求两点距离、三点面积操作
2021/06/03 Python
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫