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

    下面以东萍象棋的棋谱搜索页面为例讲解。网址http://www.dpxq.com/hldcg/search/

    在该网页上方,“更改棋库”后面有个文本框,如果想要用SeleniumBasic修改“大师对局”这几个字,你需要分析页面构成,查看该网页元素位于何处。

    按下F12,在开发工具中可以看到:大师对局的id是s_owner,位于框架中。框架的id是search_end_pos。

    下面的程序,切换到框架中,定位到文本框和右侧的按钮,修改内容并点击了“确定”。

        Dim Locator As New SeleniumBasic.ITargetLocator
        WD.Navigate.GoToUrl "http://www.dpxq.com/hldcg/search/"
        Dim frm As SeleniumBasic.IWebElement
        Set frm = WD.FindElementById("search_end_pos")
        WD.SwitchTo.Frame frm
            Dim text As SeleniumBasic.IWebElement
            Set text = WD.FindElementById("s_owner")
            text.Clear
            text.SendKeys "ryueifu"
            Dim OK As SeleniumBasic.IWebElement
            Set OK = WD.FindElementByXPath("//*[@id='topTABLE']/tbody/tr[2]/td[2]/input[2]")
            OK.Click
        WD.SwitchTo.DefaultContent
        Debug.Print WD.PageSource

     另外Frame方法中的identifier参数,可以以下3种类型之一

    IWebElement

    String

    Integer/Long

    上面的例子,先定位到iframe元素,再切换。其实也可以不定位,直接切换至指定id或name的框架,或切换至指定编号的框架。以下两种写法都是正确的:

    WD.SwitchTo.Frame 0 '切换到第0个框架
    Debug.Print WD.FindElementById("s_owner").tagName
    WD.SwitchTo.DefaultContent

    WD.SwitchTo.Frame "search_end_pos" '切换到指定id或name的框架
    Debug.Print WD.FindElementById("s_owner").tagName
    WD.SwitchTo.DefaultContent

  • 相关阅读:
    Python中matplotlib模块的简单使用
    Python中numpy模块的简单使用
    TensorFlow入门(矩阵基础)
    TensorFlow入门(常量变量及其基本运算)
    计算机视觉入门
    菜得一P!
    Hdu2097 Sky数
    Hdu2099 整除的尾数
    Hdu2098 分拆素数和
    Linux下用Bash语言实现简单排序的功能
  • 原文地址:https://www.cnblogs.com/ryueifu-VBA/p/13696169.html
Copyright © 2011-2022 走看看