0

コードには、さまざまな場所の多くのページで使用されている要素があります。具体的には、カレンダー要素です。この要素には多くのパーツが含まれていますが、これらの内部パーツは、使用場所に関係なく常に同じです。私がやりたいのは、calendar要素がどこにあるかに関係なく、calendar要素の内部にあるものを検索することです。

単純化した場合と同様に、次のことを考慮してください。

<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内でのみ検索します。多くのページのさまざまな場所に表示されることを期待しているため、カレンダー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 に答える