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中映射类型(字典)操作符的概念和使用
Aug 19 Python
快速了解Python中的装饰器
Jan 11 Python
基于Django用户认证系统详解
Feb 21 Python
基于python 处理中文路径的终极解决方法
Apr 12 Python
django js实现部分页面刷新的示例代码
May 28 Python
Python对象转换为json的方法步骤
Apr 25 Python
Python vtk读取并显示dicom文件示例
Jan 13 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 Python
Windows下Sqlmap环境安装教程详解
Aug 04 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
详解python polyscope库的安装和例程
Nov 13 Python
基于Python实现粒子滤波效果
Dec 01 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分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python中按键来获取指定的值
2019/03/02 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
2020/03/06 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
详解rem 适配布局
2018/10/31 HTML / CSS
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
香港礼品网站:GiftU eshop
2017/09/01 全球购物
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
智能钱包:Ekster
2019/11/21 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
工程造价与管理专业应届生求职信
2013/11/23 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
员工安全责任协议书
2016/03/22 职场文书
gateway网关接口请求的校验方式
2021/07/15 Java/Android