我的代码中有一个元素,在许多地方的许多页面上使用。具体来说,它是一个日历元素。该元素包含许多部分,但无论在何处使用,这些内部部分始终相同。我想做的是搜索日历元素内部的内容,无论日历元素在哪里。
就像简化案例一样,请考虑以下事项:
<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链接文本执行相同类型的“搜索”,但只在div中使用类日历搜索。请记住,我不希望直接XPath到日历div,因为我希望它出现在许多页面上的不同位置。我该怎么做呢?非常感谢!
答案 0 :(得分:1)
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