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

    SeleniumBasic的FindElement共有8个系列方法。其中XPath和CssSelector技巧性最强,其余6种定位方法很直观简单。

    这节学习使用XPath定位一个元素周围的其他元素。

    百度首页左上角有7个超链接,这些超链接的父亲是id为s-top-left的div,爷爷是id为head的div。

    首先简单地说一下XPath的语法

    //div[@id='s-top-left']/a[3]

    //表示根节点,也就是WD对象。div表示根节点下的第一个div,方括号里@用于限定属性条件,/表示下一级的路径分隔符,a[3]表示第3个超链接。

    注意:XPath的中括号里的索引起始于1,不是0。

    上面可以概括为:查找id为s-top-left的div下面的第3个超链接。请看代码:

    Dim div As IWebElement
    Dim map As IWebElement
    Set div = WD.FindElementByXPath("//div[@id='s-top-left']")
    Set map = div.FindElementByXPath("a[3]")
    Set map = WD.FindElementByXPath("//div[@id='s-top-left']/a[3]")
    Debug.Print map.text '地图
    Debug.Print map.FindElementByXPath("preceding-sibling::a[1]").text 'hao123
    Debug.Print map.FindElementByXPath("preceding-sibling::a[2]").text '新闻
    Debug.Print map.FindElementByXPath("following-sibling::a[1]").text '新闻
    Debug.Print map.FindElementByXPath("following-sibling::a[2]").text '新闻
    Debug.Print map.FindElementByXPath("../..").GetAttribute("id") 'head

    上述程序中,首先定位到“地图"赋给变量map,然后以map为中心,找到它的两个哥哥和两个弟弟(注意括号内数字的顺序,数字越大表示离自己越远)。

    定位父级元素使用两个小数点,例如../..表示定位当前元素的爷爷。所以最后一句代码的结果是head。

  • 相关阅读:
    创建自定义图标和图像
    使用_CRTDBG_LEAK_CHECK_DF检查VC程序的内存泄漏(转)
    Hadoop Netflix数据统计分析2(转)
    系统提供的按钮和图标
    STATIC变量问题
    表格视图,文本视图和Web视图
    Hadoop Netflix数据统计分析1(转)
    获取程序数据路径(转)
    C++中STRING转为INT (转)
    netflix 推荐算法学习1(转)
  • 原文地址:https://www.cnblogs.com/ryueifu-VBA/p/13762915.html
Copyright © 2011-2022 走看看