- Регистрация
- 30.04.2018
- Сообщения
- 1 085
- Благодарностей
- 29
- Баллы
- 48
Всем привет.
Решил написать программу для поиска аудио книг в новостях и столкнулся со следующей сложностью.
Прописал путь XPath к посту, спарсил его id, что бы номер поста был уникальным( во время цикла не повторялись эти номера) и учитываю его в пути XPath к аудио книги Сложность в том, что в XPath Helper Wizard (скрипт для Гугла для определения XPath путей) HtmlElement AudioPost не находит, а условие if(!AudioPost.IsVoid) выполняется, а в нем прописано алгоритм репоста этой аудио книги в определенную группу. То есть выдается ошибка
Если короче, то имеется пост с уникальным номером и в нем МОЖЕТ быть аудио книга, разумеется тогда появляются атрибуты. Сложность в том, если прописать в пути XPath уникальные атрибуты и путь к аудио файлу то условие if(!AudioPost.IsVoid) всегда выполняется, т.е есть аудио книга или нет, а это приводит к ошибке
Ниже привел кусок кода, что бы нагляднее было
// ищу уникальный номер поста
HtmlElement post = Tab1.FindElementByXPath ("//div[начинается с(@id, 'post -')]", y);
строка idpost = post.GetAttribute ("id");
// Подставляю id в пути XPath к аудио книги
HtmlElement AudioPost = Tab1.FindElementByXPath
("//div [@id= '"+idpost+"']/descendant::div[@class='wall_text']/descendant::div[contains(@class,'audio')]/ancestor::div[@class='post_info']/descendant::a[contains(@class,'share')]/span",y);
Решил написать программу для поиска аудио книг в новостях и столкнулся со следующей сложностью.
Прописал путь XPath к посту, спарсил его id, что бы номер поста был уникальным( во время цикла не повторялись эти номера) и учитываю его в пути XPath к аудио книги Сложность в том, что в XPath Helper Wizard (скрипт для Гугла для определения XPath путей) HtmlElement AudioPost не находит, а условие if(!AudioPost.IsVoid) выполняется, а в нем прописано алгоритм репоста этой аудио книги в определенную группу. То есть выдается ошибка
Если короче, то имеется пост с уникальным номером и в нем МОЖЕТ быть аудио книга, разумеется тогда появляются атрибуты. Сложность в том, если прописать в пути XPath уникальные атрибуты и путь к аудио файлу то условие if(!AudioPost.IsVoid) всегда выполняется, т.е есть аудио книга или нет, а это приводит к ошибке
Ниже привел кусок кода, что бы нагляднее было
// ищу уникальный номер поста
HtmlElement post = Tab1.FindElementByXPath ("//div[начинается с(@id, 'post -')]", y);
строка idpost = post.GetAttribute ("id");
// Подставляю id в пути XPath к аудио книги
HtmlElement AudioPost = Tab1.FindElementByXPath
("//div [@id= '"+idpost+"']/descendant::div[@class='wall_text']/descendant::div[contains(@class,'audio')]/ancestor::div[@class='post_info']/descendant::a[contains(@class,'share')]/span",y);