Аналог с XPath

sanyatovk

Client
Регистрация
28.05.2016
Сообщения
100
Благодарностей
18
Баллы
8
Как сделать такое же, но через XPath:
HtmlElement he = instance.ActiveTab.FindElementsByAttribute("div", "class", "...", "regexp").Where(x=>x.DisplacementInTabWindow.Y>0&&x.DisplacementInTabWindow.Y<project.Profile.ScreenSizeHeight).FirstOrDefault();
instance.ActiveTab.FindElementByXPath может возвращать только 1 элемент.
Перебирать через for + FindElementByXPath не подходит, т.к. высокая нагрузка, когда таких скрытых элементов на странице десятки или сотни.
 

b1zar

Client
Регистрация
29.06.2019
Сообщения
178
Благодарностей
102
Баллы
43
Как сделать такое же, но через XPath:
HtmlElement he = instance.ActiveTab.FindElementsByAttribute("div", "class", "...", "regexp").Where(x=>x.DisplacementInTabWindow.Y>0&&x.DisplacementInTabWindow.Y<project.Profile.ScreenSizeHeight).FirstOrDefault();
instance.ActiveTab.FindElementByXPath может возвращать только 1 элемент.
Перебирать через for + FindElementByXPath не подходит, т.к. высокая нагрузка, когда таких скрытых элементов на странице десятки или сотни.
Попробуй встроенный парсер, там можно выставить парсить только видимые эллементы. Через ПКМ на странице, "Парсить данные"
C#:
var attributes = ZennoPoster.Parser.ParseByCssSelector(instance.ActiveTab, ZennoLab.InterfacesLibrary.Enums.Parser.SourceType.Dom, "html>body>div>div>div>div", "src", true).ToList();
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
2 074
Благодарностей
1 935
Баллы
113
Как сделать такое же, но через XPath:
HtmlElement he = instance.ActiveTab.FindElementsByAttribute("div", "class", "...", "regexp").Where(x=>x.DisplacementInTabWindow.Y>0&&x.DisplacementInTabWindow.Y<project.Profile.ScreenSizeHeight).FirstOrDefault();
instance.ActiveTab.FindElementByXPath может возвращать только 1 элемент.
Перебирать через for + FindElementByXPath не подходит, т.к. высокая нагрузка, когда таких скрытых элементов на странице десятки или сотни.
Хотите чтоб вам помогли? дайте больше информации, покажите что вы делали, что пробовали, с какой проблемой столкнулись. Прикрепите тестовый шаблон, или хотя бы файл с html страницей. Вот как мне вам помочь если нету нечего? Опишите пожалуйста более конкретно, например: есть то и то, надо получить это.
 

sanyatovk

Client
Регистрация
28.05.2016
Сообщения
100
Благодарностей
18
Баллы
8
Хотите чтоб вам помогли? дайте больше информации, покажите что вы делали, что пробовали, с какой проблемой столкнулись. Прикрепите тестовый шаблон, или хотя бы файл с html страницей. Вот как мне вам помочь если нету нечего? Опишите пожалуйста более конкретно, например: есть то и то, надо получить это.
Так я вроде все предоставил :-)

Есть метод instance.ActiveTab.FindElementsByAttribute()
Нужен аналог, который ищет через XPath и так же может вернуть ВСЕ найденные элементы.
instance.ActiveTab.FindElementByXPath() не подходит, т.к. он может возвращать только 1 элемент.
 

zhekan3

Client
Регистрация
27.12.2015
Сообщения
52
Благодарностей
10
Баллы
8
Так я вроде все предоставил :-)

Есть метод instance.ActiveTab.FindElementsByAttribute()
Нужен аналог, который ищет через XPath и так же может вернуть ВСЕ найденные элементы.
instance.ActiveTab.FindElementByXPath() не подходит, т.к. он может возвращать только 1 элемент.
А вот так пробовали - instance.ActiveTab.FindElementsByXPath()
 

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