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。

  • 相关阅读:
    MasterPage中找尋控件
    Win2003服务器发布的网站Session经常丢失
    Toolkits
    aspnet_regiis 命令格式說明
    SQL转换数字中文大写
    ASP.NET2.0实现无刷新客户端回调
    SQL的使用规范
    pku3207 2SAT问题入门
    unity3d打包资源
    Vector3.Lerp 插值
  • 原文地址:https://www.cnblogs.com/ryueifu-VBA/p/13762915.html
Copyright © 2011-2022 走看看