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 list使用示例 list中找连续的数字
Jan 27 Python
python目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
详解Python中的type()方法的使用
May 21 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
浅谈Python黑帽子取代netcat
Feb 10 Python
Python实现输出某区间范围内全部素数的方法
May 02 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
带你认识Django
Jan 15 Python
python实现布隆过滤器及原理解析
Dec 08 Python
python的slice notation的特殊用法详解
Dec 27 Python
python批量修改文件名的示例
Sep 27 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 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
php学习笔记 面向对象中[接口]与[多态性]的应用
2011/06/16 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
WordPress中"无法将上传的文件移动至"错误的解决方法
2015/07/01 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
2010/04/25 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
js数组的基本使用总结
2021/01/18 Javascript
python函数形参用法实例分析
2015/08/04 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
python 生成图形验证码的方法示例
2018/11/11 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
Python 字符串池化的前提
2020/07/03 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
英国受欢迎的运动鞋和街头服装商店:Footasylum
2018/06/12 全球购物
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
园林技术个人的自我评价
2014/01/08 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
人才市场接收函
2015/01/30 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书