返回顶部
首页 > 资讯 > 后端开发 > Python >python网络爬虫selenium打开多窗口与切换页面的方法
  • 359
分享到

python网络爬虫selenium打开多窗口与切换页面的方法

2023-06-29 01:06:47 359人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇“python网络爬虫selenium打开多窗口与切换页面的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Pytho

这篇“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)

python网络爬虫selenium打开多窗口与切换页面的方法

当前页面依然还是百度。要想把当前页面换成知乎,还需要继续用代码切换过来。

打印 句柄 ,即driver的 window_handles 属性,输出结果如下:

print(driver.window_handles)

python网络爬虫selenium打开多窗口与切换页面的方法

是一个有两个元素的列表,分别代表上边打开的两个网页,百度和知乎。

分别将其传入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)

python网络爬虫selenium打开多窗口与切换页面的方法

关于句柄在列表中的顺序,
建议一般最好只额外打开一个网页,不建议打开更多的网页进行切换。当打开的网页数量超过两个时,句柄列表中的元素分别代表哪个网页,其顺序是不太好确定的。以下面代码为例,其顺序如下。

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打开多窗口与切换页面的方法

以上就是关于“python网络爬虫selenium打开多窗口与切换页面的方法”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

--结束END--

本文标题: python网络爬虫selenium打开多窗口与切换页面的方法

本文链接: https://lsjlt.com/news/321619.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作