Помогите сосотавить правильный Xpath

dima2121

Client
Регистрация
09.02.2020
Сообщения
138
Благодарностей
14
Баллы
18
Добрый вечер, помогите правильно составить Xpath, нужно кликнуть в строку поиска видео на ютуб. В строке поиска есть встроенная клавиатура и рядом же кнопка поиска, вот иногда клик происходит либо на эту клавиатуру либо на кнопку поиска, или же вообще в пустоту, составлял как Xpath путь, так и побывал искать по старому методу (по координатам) через top и left, но проблема в том что, поле ввода названия видео не активно пока на него не наведешь мышкой, и соответственно координаты получить не могу, поэтому этот метод решил отеч и попросить у вас помощи в точности написания Xpath пути

Мои варианты были:

//input[@id='search']

//div[@class='sbib_b']/input[@id='search']

//div[@id=\"sb_ifc50\"]/input[@id=\'search\']

Все эти варианты рабочие и через xpath helper wizard показывает 1 единственный результат, но на практике, как я писал выше кликает и на клавиатуру рядом которая находится и на другие места
строка поиска.jpg
 

oOmp

Client
Регистрация
22.01.2018
Сообщения
198
Благодарностей
94
Баллы
28
// Поиск элемента по XPath
//Путь XPath до элемента
string xpath = "//div[@id='search-input']";
//Номер совпадения
int num = 0;


//Поиск элемента
var el = instance.ActiveTab.FindElementByXPath(xpath, num);
//Движение к элементу
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(el);

// Клик
//Кнопка мыши
// "left" - левая кнопка мыши
// "right" - правая кнопка мыши
// "middle" - колесико/средняя кнопка мыши
string button = "left";
//Действие
// "click" - обычный клик
// "down" - зажатие клавиши (зажимаем и держим)
// "up" - отжатие клавиши (отпускаем зажатую кнопку)
string mouseEvent = "click";

//Клик
instance.ActiveTab.FullEmulationMouseClick(button, mouseEvent);
 
  • Спасибо
Реакции: Kitagen и dima2121

dima2121

Client
Регистрация
09.02.2020
Сообщения
138
Благодарностей
14
Баллы
18
// Поиск элемента по XPath
//Путь XPath до элемента
string xpath = "//div[@id='search-input']";
//Номер совпадения
int num = 0;


//Поиск элемента
var el = instance.ActiveTab.FindElementByXPath(xpath, num);
//Движение к элементу
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(el);

// Клик
//Кнопка мыши
// "left" - левая кнопка мыши
// "right" - правая кнопка мыши
// "middle" - колесико/средняя кнопка мыши
string button = "left";
//Действие
// "click" - обычный клик
// "down" - зажатие клавиши (зажимаем и держим)
// "up" - отжатие клавиши (отпускаем зажатую кнопку)
string mouseEvent = "click";

//Клик
instance.ActiveTab.FullEmulationMouseClick(button, mouseEvent);
Спасибо большое, уже пробую как будет работать
 

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