Xpath(1.0)を書いて、共通の基本要素で異なるタグタイプと深さのレベルを持つ要素を選択するところです。例えば、私はGoogleのサイトで次のXPathを使用することができます。要素または別の要素の子を選択するために書くことができる最短のXpathは何ですか?
//*[@id='main']/span | //*[@id='main']/div/script
...次のHTMLで:
<div id="main" class="content" data-jiis="cc">
<span id="body" class="ctr-p">
<div id="footer" class="ctr-p">
<div id="footc" data-jiis="uc" data-jibp="h">
<script>
<div id="xfoot">...</div>
</div>
</div>
私は多くの線に沿って何かとしてそれを好むだろうけどの:違法表現である
//*[@id='main'](/span | /div/script)
...。私はいくつかのself
ものを試してみましたが、私はむしろdiv
よりも、それはscript
をつかむために取得する方法を見つけ出すことはできません。
//*[@id='main']/*[self::span | self::div/script]
私はself::div/script
がscript
子供とdiv
を選択することを意味することを理解し、この例ではscript
を選択する軸(存在する場合)がわかりません。どうすればこれを達成できますか?または、私が記述した最初のXpathを使用する必要がありますか?
XPath式を使用するコンテキスト/言語は何ですか? – choroba
http://stackoverflow.com/a/4616333/1030675 – choroba
@choroba私はJavaでSeleniumを使用しています。 –