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

    Selenium技术在一个浏览器中只能操作访问一个网页,很多情况下还需要在新窗口中打开其他网页,本帖借助执行JavaScript脚本的方式打开新的网页,然后利用SwithTo在各个窗口句柄里切换。

    IWebDriver对象的WindowHandles是一个字符串数组,存储的是每个网页的句柄(句柄是一个字符串,不是数字)。

    下面的程序,一开始打开百度,然后连续新建3个窗口,打开新浪、京东、淘宝。

        WD.New_ChromeDriver Service:=Service, Options:=Options
        Dim Utility As SeleniumBasic.Utility
        Dim windows() As String
        Dim goal As String
        Set Utility = New SeleniumBasic.Utility
        WD.url = "https://www.baidu.com/"
        Utility.Sleep 1000
        WD.ExecuteScript "window.open('https://www.sina.com.cn/')"
        Utility.Sleep 1000
        WD.ExecuteScript "window.open('https://www.jd.com/')"
        Utility.Sleep 1000
        WD.ExecuteScript "window.open('https://www.taobao.com/')"
        Utility.Sleep 1000
        windows = WD.WindowHandles
        For i = 0 To UBound(windows)
            WD.SwitchTo.Window windows(i)
            Debug.Print WD.url, WD.Title
            If WD.url Like "*jd*" Then
                goal = windows(i)
            End If
            Utility.Sleep 1000
        Next i
        WD.SwitchTo.Window goal
        Utility.Sleep 1000
        WD.Close '关闭京东
        Utility.Sleep 1000
        Debug.Print UBound(WD.WindowHandles) + 1 '剩下多少个窗口

    可以看出,就连访问每个网页的标题等简单信息,也必须切换过去才能访问。程序执行到最后,使用Close方法关闭了京东。

     如果浏览器中把最后一个网页也给Close了,那么此时相当于Quit方法,浏览器也就退出了。

  • 相关阅读:
    uploadify插件的功能应用
    dropify插件的字符串
    VCC、VDD和VSS
    Bootloader升级方式一————擦、写flash在RAM中运行
    Can DBC文件翻译
    CANdbc编辑器的下载和入门介绍
    CAN协议,系统结构和帧结构
    数据帧
    自动驾驶技术之——无人驾驶中的CAN总线
    can物理信号-----------显性和隐性
  • 原文地址:https://www.cnblogs.com/ryueifu-VBA/p/13763838.html
Copyright © 2011-2022 走看看