c# - 使用 watin 搜索级联元素

标签 c# watin

请告诉我在页面中搜索级联元素的方法。

例如,一个页面中使用了 10 个 anchor 元素标签。我可以简单地使用 FindBy 方法找到一个元素,即 Element.FindBy()。但是当我在页面 css 上有一个级联元素时该怎么办,比如“.lineItem .title a”

最佳答案

我不确定你所说的“级联元素”是什么意思。你在找<a/>class="lineItem" 元素中包含的元素它包含在带有 class="title" 的元素中?如果是这样,您至少可以做两件事来找到该元素:

  1. 使用 Find.ByExistenceOfRelatedElement<T>(ElementSelector<T> selector)

    ie.Link(
        Find.ByExistenceOfRelatedElement<Element>(link => link.Ancestor(
            Find.ByClass("title")
            && Find.ByExistenceOfRelatedElement<Element>(linksAncestor => linksAncestor.Ancestor(
                Find.ByClass("lineItem"))))));
    
  2. 使用 Predicate<Link>

    ie.Link(link =>
    {
        var ancestor = link.Ancestor(Find.ByClass("title"));
        return ancestor != null && ancestor.Ancestor(Find.ByClass("lineItem")) != null;
    });
    

我敢打赌还有另一种方式。

关于c# - 使用 watin 搜索级联元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3192061/

相关文章:

c# - JavaScript 错误 : Message: Expected ')'

c# - Visual Studio "Pin is required to establish a connection"

internet-explorer - 运行 WatiN 时隐藏 Internet Explorer

WatiN 并输入大写字母

c# - 使用关键字作为变量名

c# - 我可以在 Visual Studio 中创建一个位于 .Designer.cs 文件旁边的文件吗?

c# - 输入验证 Silverlight

c# - 使用 Watin 更改 IE 实例的代理设置

c# - 更改 IE 用户代理

c# - 等待重复下载不可靠?