1
私は、次のコードXPathは兄弟/兄弟のテキストに基づいて要素を選択しますか?
いずれかresponse.xpath('*/div[@class="outer"]/h2/text()="Chief Executive"')
# Returns a Selector
[<Selector xpath='*/div[@class="outer"]/h2/text()="Chief Executive"' data=u'0'>]
しかし、すぐに、私は両親や兄弟Iにアクセスしようとするとを使用して最高経営責任者を見つけることができますChief Executive
とSomeone Else
のための連絡先の詳細をこすりしようとしていますエラーが発生するか、データが取得されません。ここ
私は
response.xpath('*/div[@class="outer"]/h2/text()="Chief Executive"/following-sibling')
ValueError: XPath error: Invalid type in */div[@class="outer"]/h2/text()="Chief Executive"/following-sibling
response.xpath('*/div[@class="outer"]/h2/text()="Chief Executive"/following-sibling::content')
ValueError: XPath error: Invalid type in */div[@class="outer"]/h2/text()="Chief Executive"/following-sibling::content
response.xpath('*/div[@class="outer"]/h2/text()="Chief Executive"/parent::*')
ValueError: XPath error: Invalid type in */div[@class="outer"]/h2/text()="Chief Executive"/parent::*
を試みたいくつかのパターンであります
response.xpath('*/div[@class="outer"]/h2/text()="Chief Executive"/..')
ValueError: XPath error: Invalid type in */div[@class="outer"]/h2/text()="Chief Executive"/..
response.xpath('*/div[@class="outer"]/h2[.="Chief Executive"]')
[] # No data found
response.xpath('*/div[@class="outer"]/h2[text()="Chief Executive"]')
[] # No data found
ベースHTML
<div class="outer">
<h2 class="legend">
Chief Executive
</h2>
<div class="fieldset">
<div class="display-row">
<div class="display-label">Contact name:</div>
<div class="display-field-no-width">
Mr. Steven Bob
</div>
</div>
<div class="display-row">
<div class="display-label">Job title:</div>
<div class="display-field-no-width">
Chief Executive Officer
</div>
</div>
<div class="display-row">
<div class="display-label">Organisation name:</div>
<div class="display-field-no-width">
1 COMAPNY PTY LTD
</div>
</div>
</div>
</div>
<div class="outer">
<h2 class="legend">
Someone Else
</h2>
<div class="fieldset">
<div class="display-row">
<div class="display-label">Contact name:</div>
<div class="display-field-no-width">
Mr. Steven Bob
</div>
</div>
<div class="display-row">
<div class="display-label">Job title:</div>
<div class="display-field-no-width">
Chief Executive Officer
</div>
</div>
<div class="display-row">
<div class="display-label">Organisation name:</div>
<div class="display-field-no-width">
1 COMAPNY PTY LTD
</div>
</div>
</div>
</div>
ありがとうございましたkjhughes、最終的に本当の問題は、私が後にAJAX経由でロードしていたデータでした。私はサーバーサイドからこれを気付かなかったのですが、一度ソートすれば正規化スペースも私に書き込み検索 –