python网络爬虫selenium打开多窗口与切换页面的方法
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇"python网络爬虫selenium打开多窗口与切换页面的方法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所
千家信息网最后更新 2025年01月16日python网络爬虫selenium打开多窗口与切换页面的方法
这篇"python网络爬虫selenium打开多窗口与切换页面的方法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"python网络爬虫selenium打开多窗口与切换页面的方法"文章吧。
首先打开百度
from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get('https://www.baidu.com/')
以知乎为例,打开一个新的界面,使用 execute_script() 方法,执行JavaScript代码。
并调用driver的current_url属性,然后查看当前页面的url:
driver.execute_script("window.open('https://www.zhihu.com')")print(driver.current_url)
当前页面依然还是百度。要想把当前页面换成知乎,还需要继续用代码切换过来。
打印 句柄 ,即driver的 window_handles 属性,输出结果如下:
print(driver.window_handles)
是一个有两个元素的列表,分别代表上边打开的两个网页,百度和知乎。
分别将其传入switch_to.window()方法中,再打印当前页面的url,输出结果如下,可以看到,页面成功被切换。
win1 = driver.window_handles[0]driver.switch_to.window(win1)print(driver.current_url)time.sleep(2)win2 = driver.window_handles[1]driver.switch_to.window(win2)print(driver.current_url)
关于句柄在列表中的顺序,
建议一般最好只额外打开一个网页,不建议打开更多的网页进行切换。当打开的网页数量超过两个时,句柄列表中的元素分别代表哪个网页,其顺序是不太好确定的。以下面代码为例,其顺序如下。
from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get('https://www.baidu.com/')# 打开一个新的页面driver.execute_script("window.open('https://www.zhihu.com')")driver.execute_script("window.open('https://www.lagou.com/')")driver.execute_script("window.open('https://www.jianshu.com/')")win1 = driver.window_handles[0]driver.switch_to.window(win1)print(driver.current_url)time.sleep(2)win2 = driver.window_handles[1]driver.switch_to.window(win2)print(driver.current_url)time.sleep(2)win3 = driver.window_handles[2]driver.switch_to.window(win3)print(driver.current_url)time.sleep(2)win4 = driver.window_handles[3]driver.switch_to.window(win4)print(driver.current_url)
输出结果如图,句柄的第一个元素表示我们第一次打开的主网页界面,
然后我们依次打开了知乎、拉钩、简书,但是句柄列表第二三四个元素依次表示的是简书、拉钩、知乎。
可以认为其从第二个元素往后是与我们代码写入的顺序是相反的。
以上就是关于"python网络爬虫selenium打开多窗口与切换页面的方法"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
页面
切换
网页
方法
元素
内容
句柄
代码
顺序
爬虫
网络
两个
结果
输出
代表
属性
建议
文章
更多
界面
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
一网软件开发有限公司
离岸软件开发
软著软件开发人证明
元初网络技术
淘宝软件开发平台
网络安全执法改革
网络安全升旗词
邯郸APP软件开发服务商
二_ 数据库的安全威胁
lol手游日本服务器崩溃
随州国家网络安全宣传周
福建app手机软件开发公司
服务器管理员是什么意思
数据库中from EMP Y
软件开发助理的工作总结
青岛浩正网络技术服务
光标下载软件开发
数据库ctrl f2
通州民宿软件开发
js查询mysql数据库
山西全球卫星时钟服务器虚拟主机
服务器 开发
数据库中国时区
范式转换的例题数据库
广东定制软件开发中心
软件开发0税率申请文件
理光1356服务器咋样
通州民宿软件开发
进入 服务器管理器
数据库脚本语言入门