XPath не отдаёт InnerHtml

  • Автор темы Автор темы grin-du
  • Дата начала Дата начала
  • Теги Теги
    xpath

Используете ли вы XPath в своих шаблонах?

  • Да

    Голосов: 13 100,0%
  • Нет

    Голосов: 0 0,0%
  • Не знаю

    Голосов: 0 0,0%

  • Всего проголосовало
    13

grin-du

Client
Регистрация
09.10.2017
Сообщения
96
Реакции
46
Баллы
18
Добрый день. XPath не отдаёт InnerHtml. Пробовал такой код
C#:
Развернуть Свернуть Копировать
string xPath = "//*[@id='J_DivItemDesc']/div[17]";
return instance.ActiveTab.FindElementByXPath(xPath,0).InnerHtml;

Исходная страница https://item.taobao.com/item.htm?id=572750043144
Нужен innerhtml или outerhtml вот этого пути //*[@id='J_DivItemDesc']/div[17]
Заранее спасибо всем активным комментаторам.
 
XPath не отдаёт InnerHtml.
Отдаёт: 模板保护代码

Элемент как минимум стоит проверять.
C#:
Развернуть Свернуть Копировать
string xPath = "//*[@id='J_DivItemDesc']/div[17]";
HtmlElement he = instance.ActiveTab.FindElementByXPath(xPath, 0);
project.SendWarningToLog(he.IsVoid ? "Не найден" : he.InnerHtml);
 
  • Спасибо
Реакции: kul0n
Отдаёт: 模板保护代码

Элемент как минимум стоит проверять.
C#:
Развернуть Свернуть Копировать
string xPath = "//*[@id='J_DivItemDesc']/div[17]";
HtmlElement he = instance.ActiveTab.FindElementByXPath(xPath, 0);
project.SendWarningToLog(he.IsVoid ? "Не найден" : he.InnerHtml);
Всё верно. У меня отдает так же, но нужно чтобы код блока отдавал. Там ссылки на фотографии я их собираю. В хроме по блоку можно копировать outerhtml этого блока и всё берятся, а вот тут не получается. Отдает слово и всё - кода нет.
 
Нужно чтобы вся ветка кода html которая в нём, мне была доступна в переменной.
 
Отдаёт: 模板保护代码

Элемент как минимум стоит проверять.
C#:
Развернуть Свернуть Копировать
string xPath = "//*[@id='J_DivItemDesc']/div[17]";
HtmlElement he = instance.ActiveTab.FindElementByXPath(xPath, 0);
project.SendWarningToLog(he.IsVoid ? "Не найден" : he.InnerHtml);
upload_2018-8-16_19-31-54.png
 
Попробуйте так:

Код:
Развернуть Свернуть Копировать
var link = tab.MainDocument.FindElementsByXPath("путь Xpath");

foreach (var el in link.Elements)

{

project.Lists["Temp"].Add(el.InnerHtml);

}
Вместо InnerHtml подставьте нужные Вам данные ( src или href, не могу посмотреть код страницы) и в список Temp соберутся нужные Вам ссылки.
 
Последнее редактирование:

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)