• 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的爬虫就可以抓取新窗口上的东西了

    最近看了另外一种切换窗口的办法

    #获取所有的窗口
    all_h = browser.window_handles
    #根据列表下标锁定
    browser.switch_to.window(all_h[1])
                    
  • 相关阅读:
    TCP的拥塞控制(详解)
    TCP加速–初始拥塞窗口调整
    HTTPS 之 TLS 性能调优
    https抓包分析——wireshark抓包分析TLSv2(详细)
    HTTPS的由来详述,数字证书实现HTTPS
    详解Nginx服务器配置
    java:tomcat(负载均衡)nginx的应用配置
    QML对象构造顺序
    QML属性动态绑定
    mysql去重查询某列
  • 原文地址:https://www.cnblogs.com/chaojiyingxiong/p/10240704.html
Copyright © 2020-2023  润新知