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在windows和linux下获得本机本地ip地址方法小结
Mar 20 Python
python实现搜索本地文件信息写入文件的方法
Feb 22 Python
单利模式及python实现方式详解
Mar 20 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
Python中return self的用法详解
Jul 27 Python
pandas ix &iloc &loc的区别
Jan 10 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
Jan 29 Python
Python实现的合并两个有序数组算法示例
Mar 04 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
Jun 17 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
Python同时迭代多个序列的方法
Jul 28 Python
Scrapy 配置动态代理IP的实现
Sep 28 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 Mysql类 可以参考学习熟悉下
2009/06/21 PHP
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
PHP云打印类完整示例
2016/10/15 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
javascript实现禁止复制网页内容
2014/12/16 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
python 根据pid杀死相应进程的方法
2017/01/16 Python
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
python实现按长宽比缩放图片
2018/06/07 Python
python pyheatmap包绘制热力图
2018/11/09 Python
Python 导入文件过程图解
2019/10/15 Python
查看keras的默认backend实现方式
2020/06/19 Python
python怎么删除缓存文件
2020/07/19 Python
Python Http请求json解析库用法解析
2020/11/28 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
质检员岗位职责
2013/12/17 职场文书
中班下学期幼儿评语
2014/12/30 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python