zoukankan      html  css  js  c++  java
  • 《SeleniumBasic 3.141.0.0

    一个浏览器可能打开多个网页窗口。Selenium中每个窗口都有一个句柄,句柄是一个文本字符串。Selenium在任何时刻只能操作和读写1个窗口,要操作其他窗口必须用SwitchTo切换进去。

     假设浏览器中打开了百度、京东、新浪。下面的代码可以返回每个窗口的句柄

        Dim windows() As String
        windows = WD.WindowHandles
        For i = 0 To UBound(windows)
            Debug.Print windows(i)
        Next i

    立即窗口打印如下结果:

    CDwindow-99175AB43E76632E809F8A1DBAB051D7
    CDwindow-63759CACCD0CDD50084616C84EA8344C
    CDwindow-F631E8013BDC18EA9E7F86F0E8F9B1CD

    如果要获取每个窗口的标题、URL、网页源代码等操作,必须切换到某个窗口中才能。

    SeleniumBasic的ITargetLocator对象用于切换,具有的方法有

    1. Function ActiveElement() As IWebElement
    2. Function Alert() As IAlert
    3. Sub DefaultContent()
    4. Sub Frame(WE As IWebElement)
    5. Sub Window(windowName As String)

    本节使用的是第5个方法,Window方法,作用是切换到指定句柄的窗口中。

        Dim windows() As String
        Dim Locator As New SeleniumBasic.ITargetLocator
        windows = WD.WindowHandles
        Set Locator = WD.SwitchTo
        For i = 0 To UBound(windows)
            Locator.Window windows(i)
            Debug.Print windows(i), WD.Title, WD.URL
        Next i

    运行上述代码,一边获取句柄,一边切换进去返回标题信息。

     以上5个方法中,Frame与DefaultContent经常同时出现,用于框架之间的切换。Alert用于处理弹窗信息。

  • 相关阅读:
    K8S 内部服务调用域名解析超时
    云原生服务网格istio 第二章
    云原生服务网格istio 第一章
    kubernetes权威指南 第4版 第十章节读书笔记
    Navicat Premium基本使用
    Mac安装SecureCRT
    zabbix监控ssl证书到期时间
    nginx 配置proxy_pass URL末尾加与不加/(斜线)的区别
    PyCharm 项目删除
    Pycharm问题:module 'pip' has no attribute 'main'
  • 原文地址:https://www.cnblogs.com/ryueifu-VBA/p/13696131.html
Copyright © 2011-2022 走看看