は、あなたが、この場合には、あなたが簡単に識別できる要素またはルートを持つクラスが'a-row a-spacing-small'
である第一div
を開始したい:
//div[@class='a-row a-spacing-small']
次に、あなたの要素がこのルート要素にどのように関連しているかを特定することになります。この場合、href
がa
にあり、それがdiv
内にあるはずです。しかし、それが直接の子供。
//div[@class='a-row a-spacing-small']//a/@href
が、その後あなただけの横にdiv
はcondition..soを満たしていれば、私たちは「XPathの前のXPathの開始時に何かを置く必要があり、この要素をしたい:.soはあなたが//
使用しますすでに...
//<somexpath>/div[@class='a-row a-spacing-small']//a/@href
が、どのようなXPathを作成しましたか?それは私たちが望む条件を持っているので、私たちが知っていることはので、どのように最初のdiv
は、私たちの新しいルートに関係ない
//div[@class='a-row']
...、私たちは根二div
を作っているのですか?それは新しいルートの前であり、それは同じレベルにあるので...
//div[@class='a-row']/preceding-sibling::div[@class='a-row a-spacing-small']//a/@href
preceding-sibling
で、今の状態が何であれ、我々はルートに含める必要があります...
//div[@class='a-row' and <condition>]/preceding-sibling::div[@class='a-row a-spacing-small']//a/@href
例: :
条件はdiv要素は、テキスト「条件付きリンク」とa
を持つべきであるということであれば無disabled属性について //div[@class='a-row' and @disabled]/preceding-sibling::div[@class='a-row a-spacing-small']//a/@href
方法:
条件は、div要素がdisabled属性を持たなければならないということですか? //div[@class='a-row' and not(@disabled)]/preceding-sibling::div[@class='a-row a-spacing-small']//a/@href
再生する
詳細な「HTML」を共有できますか?この状態は何ですか? – Andersson