0

我的代码中有一个元素在许多地方的许多页面上使用。具体来说,它是一个日历元素。这个元素包含许多部分,但是,无论在哪里使用,这些内部部分总是相同的。我想做的是搜索日历元素内部的东西,而不管日历元素在哪里。

作为一个简化的案例,请考虑以下内容:

<div class="not-calendar">
    <a href="/not-calendar-link">A Link</a>
</div>
<div class="calendar">
    <a href="/calendar-link">A Link</a>
</div>

现在,我想做一些类似的事情:

$this->click("//a[text()='A Link']");

但这是模棱两可的。我想对 A Link 文本进行同样的“搜索”,但只在带有类日历的 div 中搜索。请记住,我不想要日历 div 的直接 XPath,因为我希望它出现在许多页面的不同位置。我该怎么做呢?非常感谢!

4

1 回答 1

2

Xpath 非常强大,您是否尝试过查看文档?

//bbb      Selects all bbb elements no matter where they are in the document
aaa/bbb    Selects all bbb elements that are children of aaa
aaa//bbb   Selects all bbb elements that are descendant of the aaa element, no matter where they are under the aaa element

您正在寻找的表达式://div[@class='calendar']/a

于 2012-08-22T20:49:52.500 回答