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 struct.unpack
Sep 06 Python
12步教你理解Python装饰器
Feb 25 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 Python
python3+PyQt5实现自定义流体混合窗口部件
Apr 24 Python
Python网页正文转换语音文件的操作方法
Dec 09 Python
python实现AES加密解密
Mar 28 Python
Python跳出多重循环的方法示例
Jul 03 Python
基于Python的ModbusTCP客户端实现详解
Jul 13 Python
python+selenium select下拉选择框定位处理方法
Aug 24 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
Dec 03 Python
django 装饰器 检测登录状态操作
Jul 02 Python
Django基于Models定制Admin后台实现过程解析
Nov 11 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
ASP知识讲座四
2006/10/09 PHP
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
Node.js中创建和管理外部进程详解
2014/08/16 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
vue 移动端记录页面浏览位置的方法
2020/03/11 Javascript
Python制作CSDN免积分下载器
2015/03/10 Python
Python实用日期时间处理方法汇总
2015/05/09 Python
python实现复制整个目录的方法
2015/05/12 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
python selenium xpath定位操作
2020/09/01 Python
详解Python中import机制
2020/09/11 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
学生干部学习的自我评价
2014/02/18 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
工厂门卫的岗位职责
2014/07/27 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
检察院起诉意见书
2015/05/20 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
2019年暑期安全广播稿!
2019/07/03 职场文书
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python