请告诉我在页面中搜索级联元素的方法。
例如,一个页面中使用了 10 个 anchor 元素标签。我可以简单地使用 FindBy 方法找到一个元素,即 Element.FindBy()。但是当我在页面 css 上有一个级联元素时该怎么办,比如“.lineItem .title a”
最佳答案
我不确定你所说的“级联元素”是什么意思。你在找<a/>
吗class="lineItem"
元素中包含的元素它包含在带有 class="title"
的元素中?如果是这样,您至少可以做两件事来找到该元素:
使用
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"))))));
使用
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/