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数据统计的一些小技巧
Jul 21 Python
Python File readlines() 使用方法
Mar 19 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
python3 flask实现文件上传功能
Mar 20 Python
python 从文件夹抽取图片另存的方法
Dec 04 Python
python2.7实现邮件发送功能
Dec 12 Python
Python玩转PDF的各种骚操作
May 06 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
Python抖音快手代码舞(字符舞)的实现方法
Feb 07 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中字符安全过滤函数使用小结
2015/02/25 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
javascript的document.referrer浏览器支持、失效情况总结
2014/07/18 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
EasyUI中实现form表单提交的示例分享
2015/03/01 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
js的OOP继承实现(必看篇)
2017/02/18 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
百度小程序自定义通用toast组件
2019/07/17 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
使用vue3重构拼图游戏的实现示例
2021/01/25 Vue.js
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
安装Python的教程-Windows
2017/07/22 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
股权转让协议书范本
2014/04/12 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫