Ещё пара вопросов по XPath

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
что ты флиртуешь как девочка. уверен, что работает - напиши свой рабочий код.
Неа, не буду писать, жди, может кто-то и придет на помощь, а лучше учи xPath.

Он неправильно html привел, поэтому у него не работает :-)
 

JurgenZolle

Client
Регистрация
19.09.2018
Сообщения
135
Благодарностей
20
Баллы
18
а xpath то умеем составлять и проверять
к чему эта ваша постоянная неуместная ирония? "умеет - не умеет". просто покажите как. дайте рабочий код. внимательно прочитав перед этим цель. ну, всё ж уже, с картинками, вроде показал...
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 719
Баллы
113
к чему эта ваша постоянная неуместная ирония? "умеет - не умеет". просто покажите как. дайте рабочий код. внимательно прочитав перед этим цель. ну, всё ж уже, с картинками, вроде показал...
к сожалению без иронии жизнь скучна, поэтому только с ней. а раз не нравится то значит мне тут и делать нечего. как выше сказал RoyalBank, не буду писать, жди, может кто-то и придет на помощь. Удачки :bk:
 
  • Спасибо
Реакции: RoyalBank и djaga

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
Он неправильно html привел, поэтому у него не работает :-)
ну не хочешь ему объяснять, объясни мне тогда. я просто никогда про такой способ составления xpath раньше не слышал, вот первый раз увидел. только не получается.

вот смотри верно ведь xpath составлен?
84883
идем в project maker.
C#:
HtmlElement he = instance.ActiveTab.FindElementByXPath("//h1/text()[2]", 0);
if(he.IsVoid) throw new Exception("элемент не найден");
else
{
    project.SendInfoToLog(he.InnerText.Length.ToString());
    project.SendInfoToLog(he.InnerHtml.Length.ToString());
    project.SendInfoToLog(he.OuterHtml.Length.ToString());
    return he.OuterHtml;
}
84884

видишь, он не выходит по красной, элемент найден. Но ничего вытащить не дает. при этом я пробовал навести на него мышку - не наводит (уводит куда в угол).

может это баг PM или какая-то особенность конкретного сайта, хз.
 
  • Спасибо
Реакции: JurgenZolle

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
ну хотя логично, чё я туплю. С помощью xpath

C#:
//h1/text()[2]
мы ведь находим не тэг, а конкретный текст, естественно, нет у него никаких атрибутов. толку тогда от такого xpath ноль по сути, если никто не напишет, как вытащить текст
 
  • Спасибо
Реакции: JurgenZolle

JurgenZolle

Client
Регистрация
19.09.2018
Сообщения
135
Благодарностей
20
Баллы
18
мы ведь находим не тэг, а конкретный текст, естественно, нет у него никаких атрибутов. толку тогда от такого xpath ноль по сути, если никто не напишет, как вытащить текст
вот-вот. поэтому мне интересно, возможна ли в зено какая-нить реализация подобного? какой-нить метод...
типа string text = he.GetFuckinTextOutterTags();
 

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
вот-вот. поэтому мне интересно, возможна ли в зено какая-нить реализация подобного? какой-нить метод...
типа string text = he.GetFuckinTextOutterTags();
насколько я знаю, нет такого метода в документации. ну подожди ещё, может кто напишет, но скорее всего и дальше придется тебе регулярками тащить
 
  • Спасибо
Реакции: JurgenZolle

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
  • Спасибо
Реакции: djaga и volody00

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
Нет времени разбираться, почему в ZP, что-то может не работать. Используй HtmlAgilityPack, и будет счастье.
Действительно, спасибо. @JurgenZolle , RoyalBlank навел на мысль, что можно использовать другой метод, вот он (или пользоваться HtmlAgilityPack, как он написал):

C#:
string text = ZennoPoster.Parser.ParseByXpath(instance.ActiveTab.DomText, "//h1/text()[2]", "innerText").ToList()[0];
return text;
 

JurgenZolle

Client
Регистрация
19.09.2018
Сообщения
135
Благодарностей
20
Баллы
18
можно использовать другой метод
да, действительно, всё работает, как я и хотел. я про этот метод и не вспомнил, уперся в FindElement и тормоза...
Спасибо вам большое!!
 
  • Спасибо
Реакции: volody00

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