Birisi, XPath zorluklarım ile hızlı bir şekilde beni doğru yönde yönlendirebilir.Belirli bir metnin HTML tablolarını ayrıştırılmasıyla bir hücreyi bulmak için XPath
Güncel HTML kaynağımda ihtiyacım olan doğru tabloyu tanımladığım noktaya geldim, ancak daha sonra DOM'ta bir yerde 'Bölüm' metnine sahip satırları işlemem gerekiyor.
Benim son girişimi bunu idi: Ben xpath yukarıda beni bir yere kendi dom metin "içerir 'td' bir aşağıdaki alt öğesi olan tüm öğelerini almak, temsil edeceğini düşündü
// get the correct table
HtmlTable table = page.getFirstByXPath("//table[2]");
// now the failing bit....
def rows = table.getByXPath("*/td[contains(text(),'Chapter')]")
Bölüm'
benim kaynağından eşleşen bir satırın bir örnek:
<tr valign="top">
<td nowrap="" align="Right">
<font face="Verdana">
<a href="index.cfm?a=1">Chapter 1</a>
</font>
</td>
<td class="ChapterT">
<font face="Verdana">DEFINITIONS</font>
</td>
<td> </td>
</tr>
Herhangi bir yardım/işaretçiler büyük takdir.
Teşekkürler,
Teşekkürler işe yarayacak gibi görünüyor. Ne yapar '.' temsil etmek? Ayrıca, 'yeniden' algılamanın neden çalışmadığını anlamıyorum. Anladığım kadarıyla, kökten başlamak anlamına gelir? – Dave
@Dave, Rica ederim. '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '.' bağlamsal düğümü seçer. // td, belge kökünün tüm 'td' soyunu seçer ve böylece bağlamsal düğüm ile aynı belgede bulunan 'td' öğelerini seçer. * Referans *: http://www.w3.org/TR/xpath/#path-abbrev –