selenium中的多窗口切换

在selenium中,我们会遇到一些问题,就是多窗口处理的问题,我们爬取的内容在一个新窗口上,这个时候,我们就需要先切换到这个新的窗口上,然后进行抓取内容。

如何切换呢?

首先,获取当前窗口句柄

    1.元素有属性,浏览器的窗口其实也有属性的,只是你看不到,浏览器窗口的属性用句柄(handle)来识别。

    2.人为操作的话,可以通过眼睛看,识别不同的窗口点击切换。但是脚本没长眼睛,它不知道你要操作哪个窗口,这时候只能句柄来判断了。

    3.获取当前页面的句柄:driver.current_window_handle。

然后我们通过遍历的方式,切换到另一个窗口,上代码:

from selenium import webdriver
import time
zhuye = obj.current_window_handle
all_handles = obj.window_handles
if len(all_handles)>1:
    for handle in all_handles:
        if handle != zhuye:
            obj.switch_to.window(handle)

 这样,我们就将从当前窗口切换到新的窗口,selenium的爬虫就可以抓取新窗口上的东西了

猜你喜欢

转载自www.cnblogs.com/chaojiyingxiong/p/10240704.html