最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
python网络爬虫selenium打开多窗口与切换页面代码实现
时间:2022-06-25 01:25:09 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下python网络爬虫selenium打开多窗口与切换页面代码实现,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
首先打开百度
from selenium import webdriver import time driver = 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 webdriver import time driver = 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)
输出结果如图,句柄的第一个元素表示我们第一次打开的主网页界面,然后我们依次打开了知乎、拉钩、简书,但是句柄列表第二三四个元素依次表示的是简书、拉钩、知乎。 可以认为其从第二个元素往后是与我们代码写入的顺序是相反的。
相关文章
- 《无限暖暖》天星之羽获得位置介绍 12-20
- 《流放之路2》重铸台解锁方法介绍 12-20
- 《无限暖暖》瞄准那个亮亮的成就怎么做 12-20
- 《无限暖暖》魔气怪终结者完成方法 12-20
- 《无限暖暖》曙光毛团获得位置介绍 12-20
- 《无限暖暖》日光果获得位置介绍 12-20