xpath положить результат в переменную.

  • Автор темы Автор темы Mutant
  • Дата начала Дата начала

Mutant

Client
Регистрация
19.09.2014
Сообщения
201
Реакции
36
Баллы
28
Всемогущий all к тебе взываю ибо бездарь.

xphat.jpg

Есть сайт. При помощи xpath //*[@id="content"]/article/style/text() нахожу нужное мне содержимое.
Как теперь поместить это содержимое в обычную переменную?
(форум читал, всякие примеры пробовал, итог как правило такой:
Компиляция кода Ошибка в действии "CS1525" "Недопустимый терм ")" в выражении". [Строка: 0; Cтолбец: 89]
)
 
если нужно получить стили, то будет примерно так.
Код:
Развернуть Свернуть Копировать
instance.ActiveTab.FindElementByXPath("//*[@id="content"]/article/style/text()", 0).GetAttribute("style");
 
Прошу все же не пинать ногами, но наберусь наглости и спрошу. Этой строчки в кубике достаточно и результат должен появиться в переменной Variable30?
ProjectMaker for ZennoPoster v5.29.0.0 by ZennoLab.com.jpg


Пробовал разные варианты:
Код:
Развернуть Свернуть Копировать
var x = instance.ActiveTab.FindElementByXPath("//*[@id="content"]/article/style/text()", 0).GetAttribute("style");
return x;
и так:
Код:
Развернуть Свернуть Копировать
var x = instance.ActiveTab.FindElementByXPath("//*[@id="content"]/article/style/text()",0);
var y = x.GetAttribute("style");
return y;

результат особо не меняется
Компиляция кода Ошибка в действии "CS1525" "Недопустимый терм ....
 
если это один и тот же сайт, то вот готовый вариант, тебе останется только регуляркой забрать ссылку на изображение.

Код:
Развернуть Свернуть Копировать
instance.ActiveTab.FindElementByXPath("//figure[contains(@class,'entry-featured-media')]", 0).GetAttribute("style");

в результате получаем

background-image: url(https://*******.ru/wp-content/uploads/2019/04/Depositphotos_12764913_l-2015-758x426.jpg);
 
если это один и тот же сайт, то вот готовый вариант, тебе останется только регуляркой забрать ссылку на изображение.

Код:
Развернуть Свернуть Копировать
instance.ActiveTab.FindElementByXPath("//figure[contains(@class,'entry-featured-media')]", 0).GetAttribute("style");

в результате получаем

background-image: url(https://*******.ru/wp-content/uploads/2019/04/Depositphotos_12764913_l-2015-758x426.jpg);

Где? Где мы в результате получаем? У меня в переменной Variable30 просто скромное - ОК.
 
Где? Где мы в результате получаем? У меня в переменной Variable30 просто скромное - ОК.
Этот сниппет пробовал?
Код:
Развернуть Свернуть Копировать
var x = instance.ActiveTab.FindElementByXPath("//*[@id='content']/article/style",0);
if(!x.IsVoid) return x.InnerText;
 
Этот сниппет пробовал?
Код:
Развернуть Свернуть Копировать
var x = instance.ActiveTab.FindElementByXPath("//*[@id='content']/article/style",0);
if(!x.IsVoid) return x.InnerText;
Конечно попробовал. Кубик не ругается, но в переменной Variable30 нет даже ОК, как в варианте выше
 
Где? Где мы в результате получаем? У меня в переменной Variable30 просто скромное - ОК.
результат получить можно 2-мя способами.
1.
Код:
Развернуть Свернуть Копировать
return instance.ActiveTab.FindElementByXPath("//figure[contains(@class,'entry-featured-media')]", 0).GetAttribute("style");
2.
Код:
Развернуть Свернуть Копировать
project.Variables["Имя_Переменной_куда положить_результат"].Value = instance.ActiveTab.FindElementByXPath("//figure[contains(@class,'entry-featured-media')]", 0).GetAttribute("style");
 
  • Спасибо
Реакции: Mutant
результат получить можно 2-мя способами.
1.
Код:
Развернуть Свернуть Копировать
return instance.ActiveTab.FindElementByXPath("//figure[contains(@class,'entry-featured-media')]", 0).GetAttribute("style");
2.
Код:
Развернуть Свернуть Копировать
project.Variables["Имя_Переменной_куда положить_результат"].Value = instance.ActiveTab.FindElementByXPath("//figure[contains(@class,'entry-featured-media')]", 0).GetAttribute("style");
Заработали оба варианта!
Пусть у тебя не кончаются деньги в кошельке и молодые любовницы в твоей шикарной машине :) Огромное человеческое спасибо.
 
ttt.jpg



Снова прошу помощи у корифеев. Задача та же. нахожу через xpath .//*[@class='article-image main']/figure/div/img нужное мне содержимое
Задача та же - поместить найденное в обычную переменную.
Делаю по образу и подобию примера выше. Но, не выходит у меня каменный цветок хоть плач.
 


C#:
Развернуть Свернуть Копировать
return instance.ActiveTab.FindElementByXPath(".//*[@class='article-image main']/figure/div/img", 0);

Как то так пробовал. Ну и вариации на тему...

C#:
Развернуть Свернуть Копировать
return instance.ActiveTab.FindElementByXPath(".//*[@class='article-image main']/figure/div/img", 0)
.GetAttribute("img style");

Увы, не силен я в С#
 
попробуй так
C#:
Развернуть Свернуть Копировать
return instance.ActiveTab.FindElementByXPath("//*/div[@class='article-image main']/figure/div/img", 0).GetAttribute("style");
 
попробуй так
C#:
Развернуть Свернуть Копировать
return instance.ActiveTab.FindElementByXPath("//*/div[@class='article-image main']/figure/div/img", 0).GetAttribute("style");

ProjectMaker for ZennoPoster v5.35.1.0 by ZennoLab.com.jpg


Мне кажется, что в GetAttribute("style"); явно должно быть не "style"
 
Посмотреть вложение 44311

Мне кажется, что в GetAttribute("style"); явно должно быть не "style"
строка рабочая, я только что проверил. ошибок компиляции нет. просто пустое возвращает. где то у тебя в начале кода ошибка.
покажи весь код кубика и ссылку на сайт где надо забрать значение, а то без источника трудно понять что не так в xpath
 
Да, все правильно, ошибку выдавал другой кубик. Ваш код выдает пустой результат в переменую

Собственно вот сам сайт:


Задача - забрать картинку перед новостью.

Я это сделал при помощи регулярки на данный момент, но задача актуальна, прежде всего в образовательных целях.
 
Задача - забрать картинку перед новостью.

столько понаписали в этой теме, а надо было картинку забрать..... сразу же надо говорить что надо в конце получить, телепаты же на марсе живут, а не тут на форуме
C#:
Развернуть Свернуть Копировать
return instance.ActiveTab.FindElementByXPath("//*/div[@class='article-image main']/figure/div/img", 0).GetAttribute("src");
вот URL картинки возвращает , а не стиль. стиль кстати забирать указать style вместо src
 
  • Спасибо
Реакции: Mutant
столько понаписали в этой теме, а надо было картинку забрать..... сразу же надо говорить что надо в конце получить, телепаты же на марсе живут, а не тут на форуме
C#:
Развернуть Свернуть Копировать
return instance.ActiveTab.FindElementByXPath("//*/div[@class='article-image main']/figure/div/img", 0).GetAttribute("src");
вот URL картинки возвращает , а не стиль. стиль кстати забирать указать style вместо src

Спасибо тебе, добрый человек. Все работает как нужно
 
  • Спасибо
Реакции: timoxa949

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