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

skatri

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

Пробывал так, так не работает..
 
Да на любом сайте они есть, в моём случае мобильные ок, меня интересует как отсеить по ширине, типа не равно 0 или больше значения определённого, возможно ли это вообще?
 
Получить инфу из стиля через конструктор, распарсить число, а дальше в js как число.
 
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;      // выходим если координаты элемента неправильные
}
 
Можно указать не text, а regexp и использовать регулярку типа ^([2-9][0-9])$ для двухзначных чисел
 
  • Спасибо
Реакции: mig-z и skatri
Можно указать не text, а regexp и использовать регулярку типа ^([2-9][0-9])$ для двухзначных чисел
Спасибо, а то предыдущие варианты были мудруные слишком!) этот хоть и с костылем, но работает!) Хотя было бы не лишним добавить возможность в конструкторе задавать условия типа : больше меньше.)
 

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