Перейти по видимой ссылке с помощью Touch

nick_aso

Новичок
Регистрация
23.10.2020
Сообщения
15
Благодарностей
0
Баллы
1
Не могу понять, как это реализовать.
Нужно, чтобы на сайте происходил переход по ссылке, которая в данный момент в области видимости.

Пытаюсь реализовать, но не хватает знаний C#.

Сейчас алгоритм такой:
Паршу все ссылки на странице с помощью стандартного кубика.
Далее в C# пытаюсь прогнать этот список в цикле с проверкой на height!=0 и кликнуть, если у элемента height отличен от нуля.
Но пока вижу только бесконечные ошибки.

Подскажите, кому не сложно.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
что бы помочь, надо что то увидеть, потому как на всех хрустальных шаров не хватает.
приведи свой код в пример и лог с ошибками, так же не помешает указать ссылку, откуда этот код был взят.

ну и раз залез в код c# то плохая идея сначала парсить ссылки, а потом опять искать элементы с этими ссылками.
надо сразу делать выборку по элементам, проверять на видимость и тут же делать действия.
 

nick_aso

Новичок
Регистрация
23.10.2020
Сообщения
15
Благодарностей
0
Баллы
1
Проблема в том, что я перепробовал кучу вариантов и адекватного кода нет, как такового. Я удалял части и писал по другому.
Я понимаю, что мне тупо надо подтянуть C#, но сейчас времени нет на это.
Если тут ответа не найду - буду пробовать кубиками, мб можно скостылить через них.

Инициализация html элемента:
HtmlElement he;

Обращение к списку(в списке href атрибуты всех ссылок со страницы) :
var list1 = project.Lists["links_for_walk"];

Далее мне нужно прогнать сссылки, соответственно:

foreach(string element in list1){

Для каждой ссылки нужно проверить видимость. Я писал так:

he = instance.ActiveTab.FindElementByAttribute("a", "href", element, "text", 0);

Так я пытаюсь по хрефу найти ссылку, но синтаксис не верный, ошибки типов итд
Если бы я нашел элементы с этими хрефами, я бы начал проверять на height

int attribute = int.Parse(he.GetAttribute("height"));
if (attribute != 0)

Если не равно нулу:

instance.ActiveTab.Touch.LongTouch(he);
 

nick_aso

Новичок
Регистрация
23.10.2020
Сообщения
15
Благодарностей
0
Баллы
1
Может быть можно просто искать в области видимости или как-то ещё проще решить эту задачу
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
тебе не нужен c# в этой задаче.
парсишь ссылки по своим условиям(видимые)
75424

берешь кубиком строку и следующим кубиком делаешь клик
примерно так
75427

нюансы с поиском по regx или по text надеюсь знаешь :-)
 
  • Спасибо
Реакции: nick_aso

nick_aso

Новичок
Регистрация
23.10.2020
Сообщения
15
Благодарностей
0
Баллы
1
В общем, изначально недооценил зенопостер
Я думал, что для тача нужно, чтобы элемент был виден буквально. По факту, происходит промотка до нужного элемента свайпами, что полностью упрощает задачу.

За ответ спасибо. О данной реализации конечно знал, но не думал, что она сработает так, как нужно.
 

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