Пустые кнопки, как их отсеить?

skatri

Client
Регистрация
13.10.2019
Сообщения
10
Благодарностей
1
Баллы
3
на странице находит несколько кнопок неведимок, есть идея отсеить их по ширине, она у них равна 0, как добавить условие типа: "ширина должна быть больше 20"
43963

Пробывал так, так не работает..
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 657
Благодарностей
1 325
Баллы
113
На какой странице? На каком сайте? Какие именно кнопки? Мы же тут не телепаты, ванговать не умеем!
 

skatri

Client
Регистрация
13.10.2019
Сообщения
10
Благодарностей
1
Баллы
3
Да на любом сайте они есть, в моём случае мобильные ок, меня интересует как отсеить по ширине, типа не равно 0 или больше значения определённого, возможно ли это вообще?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 374
Благодарностей
3 298
Баллы
113
Получить инфу из стиля через конструктор, распарсить число, а дальше в js как число.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
C#:
// элемент на странице на который надо кликнуть
string xpath = "//div/div[@class='answer']/button";  // свой xpath к кнопке
// переменные
var rnd = Global.Classes.rnd;
int topInBrowser = 0;
int leftInBrowser = 0;
int Height1 = 0;
int Width1 = 0;
int ToX = 0;
int ToY = 0;

var elLink = instance.ActiveTab.FindElementByXPath(xpath, num);
if ((instance.ActiveTab.IsVoid) || (instance.ActiveTab.IsNull)) {return 2;} // выход по нулевой вкладке
else {
    try{
        topInBrowser = int.Parse(elLink.GetAttribute("topInBrowser"));
        leftInBrowser = int.Parse(elLink.GetAttribute("leftInBrowser"));
        Height1 = elLink.Height;
        Width1 = elLink.Width;
        ToX=leftInBrowser+Width1/2;
        ToY=topInBrowser+Height1/2;
    } catch {}
    if (Height1>0 && Width1>0 && topInBrowser>0 && leftInBrowser>0 )      {
        // устанавливаем параметры перемещения мыши
        instance.ActiveTab.FullEmulationMouseSetScrollBorder(15, 15);
         instance.ActiveTab.FullEmulationMouseSetOptions(5,4,rnd.Next(30,60));
        // двигаем мышь к элементу
        instance.ActiveTab.FullEmulationMouseMove(ToX, ToY);
        // кликаем по элементу
        instance.ActiveTab.FullEmulationMouseClick("left", "click");
        return 0;
    }
    else return 3;      // выходим если координаты элемента неправильные
}
 

Reactor3000

Client
Регистрация
25.09.2019
Сообщения
434
Благодарностей
262
Баллы
63
Можно указать не text, а regexp и использовать регулярку типа ^([2-9][0-9])$ для двухзначных чисел
 
  • Спасибо
Реакции: mig-z и skatri

skatri

Client
Регистрация
13.10.2019
Сообщения
10
Благодарностей
1
Баллы
3
Можно указать не text, а regexp и использовать регулярку типа ^([2-9][0-9])$ для двухзначных чисел
Спасибо, а то предыдущие варианты были мудруные слишком!) этот хоть и с костылем, но работает!) Хотя было бы не лишним добавить возможность в конструкторе задавать условия типа : больше меньше.)
 

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