Как кликнуть по элементу имея XPATH путь?

booms1

Client
Регистрация
20.08.2019
Сообщения
136
Благодарностей
18
Баллы
18
54693
Есть xpath путь //*[@id="__attachments-view-56"]/li[1]/div/div и нужно кликать по очереди на фото (очерёдность фото - переменная которую как я понимаю нужно подставлять в путь)
Может кто поделиться кодом который будет клацать на фотку по xpath путю и в который можно будет вставить номер совпадения?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
я честно с Xpath слаб но почему не выявитьть для начала как они определяются через тот же конструктор действий например а потом подставлять значение и кликать, ну или что то выпарсив за раз страницу и кликать
 

booms1

Client
Регистрация
20.08.2019
Сообщения
136
Благодарностей
18
Баллы
18
я честно с Xpath слаб но почему не выявитьть для начала как они определяются через тот же конструктор действий например а потом подставлять значение и кликать, ну или что то выпарсив за раз страницу и кликать
единственное к чему смог привязаться через конструктор - высота длинна и ширина, но это такое себе решение)
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113

booms1

Client
Регистрация
20.08.2019
Сообщения
136
Благодарностей
18
Баллы
18
Получилось справиться с кликом по элементу, но не понимаю как вставить переменную в xpath путь, может кто подскажет?
C#:
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementByXPath(@"/html/body/div[6]/div[1]/div/div/div[4]/div/ul/li[тут нужна переменная]/div/div",0);
tab.FullEmulationMouseMoveToHtmlElement(he);
tab.FullEmulationMouseClick("left","click");
 

booms1

Client
Регистрация
20.08.2019
Сообщения
136
Благодарностей
18
Баллы
18
Вот такой код всё победил
C#:
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementByXPath(@"/html/body/div[6]/div[1]/div/div/div[4]/div/ul/li["+project.Variables["sovp"].Value+"]/div/div",0);
tab.FullEmulationMouseMoveToHtmlElement(he);
tab.FullEmulationMouseClick("left","click");
(sovp - номер совпадения)
 
  • Спасибо
Реакции: Philipp

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 923
Благодарностей
1 123
Баллы
113
Вот такой код всё победил
C#:
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementByXPath(@"/html/body/div[6]/div[1]/div/div/div[4]/div/ul/li["+project.Variables["sovp"].Value+"]/div/div",0);
tab.FullEmulationMouseMoveToHtmlElement(he);
tab.FullEmulationMouseClick("left","click");
(sovp - номер совпадения)
Постарайся зацепиться за классы, за id, за не уникальные свойства элементов
html/body/div[6]
Плохой выбор, немного поменяется верстка и сломается шаблон

я честно с Xpath слаб но почему не выявитьть для начала как они определяются через тот же конструктор действий например а потом подставлять значение и кликать, ну или что то выпарсив за раз страницу и кликать
@ssXXXss ты ли это? Нет мата, заливания людей гавном? я тебя не узнаю))
 
  • Спасибо
Реакции: doc и TwistDanceR

Philipp

Client
Регистрация
14.10.2019
Сообщения
100
Благодарностей
55
Баллы
28
Вот такой код всё победил
C#:
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementByXPath(@"/html/body/div[6]/div[1]/div/div/div[4]/div/ul/li["+project.Variables["sovp"].Value+"]/div/div",0);
tab.FullEmulationMouseMoveToHtmlElement(he);
tab.FullEmulationMouseClick("left","click");
(sovp - номер совпадения)
Спасибо, это то что мне было нужно. У меня ощущение что раньше через кубик можно было подставлять переменные в xpath, а теперь почему-то не работает. А как сделать клик без эмуляции мыши? И почему перед путём стоит @?
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
Спасибо, это то что мне было нужно. У меня ощущение что раньше через кубик можно было подставлять переменные в xpath, а теперь почему-то не работает. А как сделать клик без эмуляции мыши? И почему перед путём стоит @?
1. ПКМ по любому месту в браузере - поиск по Xpath, вставляете нужную дорогу xpath.
2. Если нужно без эмуляции мыши, тогда в настройках Project поставьте так:
69274
 

Philipp

Client
Регистрация
14.10.2019
Сообщения
100
Благодарностей
55
Баллы
28

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
  • Спасибо
Реакции: Philipp

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