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

  • 相关阅读:
    idea快捷的输出常用语句
    OneinStack基础搭建typecheo轻量级博客
    自动化框架介绍及使用
    jenkins配置自动化
    selenium模拟鼠标点击
    Linux下安装nginx
    解决“chrome正受到自动测试软件的控制”信息栏显示问题
    Git 常用操作
    ZendStudio自定义代码补全,自定义代码段
    07-python之装饰器
  • 原文地址:https://www.cnblogs.com/ryueifu-VBA/p/13696169.html
Copyright © 2011-2022 走看看