C# 使用watin搜索级联元素

C# 使用watin搜索级联元素,c#,watin,C#,Watin,请告诉我如何在页面中搜索级联元素 例如,一个页面中使用了10个锚元素标记。我可以使用FindBy方法简单地访问元素,即element.FindBy()。但是当我在css页面上有一个层叠元素,比如“.lineItem.title a”我不知道你说的“层叠元素”是什么意思。您是否正在查找包含在包含class=“lineItem”的元素中的元素,该元素包含在包含class=“title”的元素中?如果是这样,至少可以做两件事来找到该元素: 使用Find.ByExistenceOfRelatedElem

请告诉我如何在页面中搜索级联元素


例如,一个页面中使用了10个锚元素标记。我可以使用FindBy方法简单地访问元素,即element.FindBy()。但是当我在css页面上有一个层叠元素,比如“.lineItem.title a”

我不知道你说的“层叠元素”是什么意思。您是否正在查找包含在包含
class=“lineItem”
的元素中的
元素,该元素包含在包含
class=“title”
的元素中?如果是这样,至少可以做两件事来找到该元素:

  • 使用
    Find.ByExistenceOfRelatedElement(元素选择器)

  • 我打赌还有另一种方法

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