0

これが私の DOM であり、私に属していないため、変更することはできません。product-id 内部テキストに基づいて正しい「ここをクリック」リンクを選択するにはどうすればよいですか? このコードには 3 つの製品があり、リンクはページのどこにでも表示される可能性があるため、製品 ID のみに基づいて選択できる必要があります。これは、PHP の behat/mink 機能テスト用であり、これまでのところ、製品 ID に基づいて選択しようとしたすべての試みが失敗しました。

<div id = "container">
    <div class = "product">
        <div class="product-detail">
            <span class = "product-id">123-456-789</span>
        </div>
        <div class = "leftblock">
            <div class = "product-info">
                <a><span>Click Here</span></a>
            </div>
        </div>
    </div>

    <div class = "product">
        <div class="product-detail">
            <span class = "product-id">456-789-012</span>
        </div>
        <div class = "leftblock">
            <div class = "product-info">
                <a><span>Click Here</span></a>
            </div>
        </div>
    </div>

    <div class = "product">
        <div class="product-detail">
            <span class = "product-id">345-678-901</span>
        </div>
        <div class = "leftblock">
            <div class = "product-info">
                <a><span>Click Here</span></a>
            </div>
        </div>
    </div>
</div>

たとえば、次の xpath は失敗しました。

//span[text()='Click Here']/following::span[@class='product-id' and text()='" . $productId . "']

先祖などを使ってみましたが、まだ何もありません。正しい文字を使用しているかどうかさえわかりません。何か案は?

4

2 に答える 2

0

私はそれを考え出した。product-id クラスを選択し、/.. を使用して親にレベルを上げ、/ を使用して適切なターゲットがある場所に戻ることができます。

于 2013-07-23T04:37:23.197 に答える