Используя CasperJS 1.1 со следующими кодами, я могу извлечь полезный HTML-код DOM с веб-страницы.Получите дочерние элементы в casper.each
casper.each(c.getElementsInfo(xpath), function(casper, element, j) {
var html = element["html"].trim();
if(html.indexOf('Phone') > -1) {
// what should I put here?
}
});
Однако, я хочу, чтобы получить доступ & получить дочерние элементы элемента. Как я могу это достичь? HTML-источник Элемента (a.k.a значения html
) выглядит следующим образом:
Loop 1
<div class="fields">
Phone
</div>
<div class="values">
<a href="tel: 12345678">12345678</a> (Mr. Lee) </div>
Цикл 2
<div class="fields">
Emergency Phone
</div>
<div class="values">
<a href="tel: 23456789 (Emergency)">23456789 (Emergency)</a>
</div>
петля 3
<div class="fields">
Opening Hours
</div>
<div class="values">
9:00am-6:30pm(Weekday)/
Close on Sundays and Public Holidays(Can be booked)(Holiday)
</div>
Loop 4
<div class="fields">
Last Update
</div>
<div class="values">
11/06/14 </div>
выше HTML плохо отформатирован и содержит много пробелов.
Данные, которые я хотел бы принести это:
- Телефон: 12345678
- Emergency Телефон: 23456789 (Emergency)
- Часы работы: 9:00 am-6:30pm (Будни)/Close на По воскресеньям и в праздничные дни (можно заказать) (праздник)
- Последнее обновление: 11/06/14
Пробовал RegEx, но RegEx является слишком сложным.
с теми же XPATH и выше кодов, '' info' возвращает null'. Пожалуйста, порекомендуйте. – Raptor
Это означает, что в этой функции произошла ошибка. Можете ли вы зарегистрироваться на событие «page.error» ([Пример] (https://gist.github.com/artjomb/4cf43d16ce50d8674fdf))? –
Обратите внимание, что 'yourXPathString', как ожидается, будет строкой, а не выходом помощника' selectXPath'. –