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参数和作用域的使用
Nov 01 Python
python检测lvs real server状态
Jan 22 Python
Python扫描IP段查看指定端口是否开放的方法
Jun 09 Python
Python打印斐波拉契数列实例
Jul 07 Python
Python操作csv文件实例详解
Jul 31 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
Python3中详解fabfile的编写
Jun 24 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
Dec 07 Python
python远程连接MySQL数据库
Apr 19 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
pytorch finetuning 自己的图片进行训练操作
Jun 05 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
php计算整个目录大小的方法
2015/06/01 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
微信小程序动态添加分享数据
2017/06/14 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
使用url_helper简化Python中Django框架的url配置教程
2015/05/30 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
python让列表倒序输出的实例
2018/06/25 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
Python连接mysql方法及常用参数
2020/09/01 Python
班组长岗位职责范本
2014/01/05 职场文书
医学类个人求职信范文
2014/02/05 职场文书
淘宝活动总结范文
2014/06/26 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
奖励通知
2015/04/22 职场文书
长征观后感
2015/06/09 职场文书