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方法,浏览器也就退出了。

  • 相关阅读:
    apache配置文件参数优化
    apache 虚拟主机详细配置:http.conf配置详解
    Apache安装问题:configure: error: APR not found . Please read the documentation
    lamp安装
    Linux运维常用命令总结
    mysql主从日志的定期清理
    python写的分析mysql binlog日志工具
    mysql5.6主从参数详解
    京东MySQL监控之Zabbix优化、自动化
    CentOS 6.5 生产环境编译安装LNMP
  • 原文地址:https://www.cnblogs.com/ryueifu-VBA/p/13763838.html
Copyright © 2011-2022 走看看