2015-06-05 2 views
7

Я пытаюсь создать искатель, чтобы извлечь некоторые данные атрибутов с веб-сайтов поставщиков, которые я могу проверить на основе нашей внутренней базы данных атрибутов, и я новичок в import.io. Я смотрел кучу видеороликов, но хотя мой синтаксис кажется правильным, мое руководство xpath override не возвращает значения атрибутов. У меня есть следующий код HTML:XPath next-sibling для обхода не возвращающегося родного брата

<table> 
<tbody><tr class="oddRow"> 
<td class="label">&nbsp;Adhesive Type&lrm;</td><td>&nbsp;Epoxy&lrm; 
</td> 
</tr> 
<tr> 
<td class="label">&nbsp;Applications&lrm;</td><td>&nbsp;Hard Disk Drive Component Assembly&lrm; 
</td> 
</tr> 
<tr class="oddRow"> 
<td class="label">&nbsp;Brand&lrm;</td><td>&nbsp;Scotch-Weld&lrm; 
</td> 
</tr> 
<tr> 
<td class="label">&nbsp;Capabilities&lrm;</td><td>&nbsp;Sustainability&lrm; 
</td> 
</tr> 
<tr class="oddRow"> 
<td class="label">&nbsp;Color&lrm;</td><td>&nbsp;Clear Amber&lrm; 
</td> 

Я пытаюсь написать XPath следующего родственное заявление, чтобы захватить «Цвет» через import.io гусеничного шасси. Код XPath, когда я выбираю «цвет» является:

//*[@id="attributeList"]/table/tbody/tr[5]/td[1] 

Я пытался использовать:

//*[@id="attributeList"]/table/tbody/tr/td[.="Color"]/following-sibling::td 

Но это не захватывая значение атрибута цвета из таблицы. Я не уверен, что это имеет какое-то отношение к нечетным и четным классам? Когда я смотрю на html, это кажется логичным; цвет «Цвет», а значение атрибута находится в следующей скобке td.

ответ

7

Текст в выбранном узле td содержит не только "Color". Это &nbsp;Color&lrm;. Таким образом, вместо того, чтобы вы могли выбрать td узлы, текст contains строка "Color":

'//*[@id="attributeList"]/table/tbody/tr/td[contains(text(), "Color")]/following-sibling::td/text()' 
+1

Это сработало, спасибо так много! Это сработало! –

Смежные вопросы