繁体   English   中英

如何在C#中使用CSS选择器定位Web元素列表

[英]How to locate a list of webelement using Css selector in C#

我正在尝试从以下HTML页面中找到“ x-tree-node” webelement的列表。

<div class = "x-tree-root-node"> </div>
  <li class = "x-tree-node"> </li>
    <ul class = "x-tree-node-ct"> </ul>
      <li class = "x-tree-node"> </li> #Starts from here, those elements are the list of 'x-tree-node' I want to find.
      <li class = "x-tree-node"> </li> #I want this to be found in my list.
      <li class = "x-tree-node"> </li> #I want this to be found in my list.
      <li class = "x-tree-node"> </li> #I want this to be found in my list.

我使用的代码是:

    public By TopLevelNodeLocator {
        get { return By.CssSelector(".x-tree-root-node.x-tree-node.x-tree-node-ct.x-tree-node");  }
    }

    public IList<IWebElement> AllTopLevelNode {
        get { return WebDriver.FindElements(TopLevelNodeLocator);  }
    }

但是我得到的IList返回了超时异常,这意味着什么都没有找到。

有人可以帮忙吗? 谢谢

By.CssSelector(".x-tree-node")

如果您只希望这些元素是无序列表的子元素:

By.CssSelector(".x-tree-node-ct .x-tree-node")

要么

By.CssSelector(".x-tree-node-ct > .x-tree-node")

要么

By.CssSelector("ul .x-tree-node")

要么

By.CssSelector("ul > .x-tree-node")

您可以通过多种方法来执行此操作。

您的TopLevelNodeLocator属性名称听起来像是您试图定位根节点,尽管只是fyi。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM