Передать значение переменной из Zennoposter в XPATH C#

ruland16

Read only
Read only
Регистрация
08.01.2020
Сообщения
24
Благодарностей
1
Баллы
3
Привет,

Пытаюсь сделать снипет скролла до элемента на странице. Взяв в качестве совпадения для XPATH часть ссылки которая храниться в переменной.
Вот таким способом

C#:
//Часть ссылки из переменной
var v_id = project.Variables["video_id"].Value;
//Находим элемент для прокрутки
var video = instance.ActiveTab.FindElementByXPath("//*/a[contains(@href, v_id)]", 0);
//Определяем, на каком расстоянии от верха страницы находится кнопка
int topInBrowser = int.Parse(video.GetAttribute("topInBrowser"));
//Делаем прокрутку на это расстояние
instance.ActiveTab.FullEmulationMouseWheel(0, topInBrowser);
//Ведём курсор мышки к кнопке
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(video);
//Кликаем
instance.ActiveTab.FullEmulationMouseClick("left", "click");
Код срабатывает но неверно, в v_id - не передается часть ссылки и снипет кликает просто в верхушку браузера. Скажите что не так

в переменной project.Variables["video_id"].Value лежит id ссылки Youtube видео вида - nPmvuMCZRB
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 320
Баллы
113
Так переменная обозначается "+v_id+"
C#:
//Часть ссылки из переменной
var v_id = project.Variables["video_id"].Value;
//Находим элемент для прокрутки
var video = instance.ActiveTab.FindElementByXPath("//*/a[contains(@href, "+v_id+"")]", 0);
//Определяем, на каком расстоянии от верха страницы находится кнопка
int topInBrowser = int.Parse(video.GetAttribute("topInBrowser"));
//Делаем прокрутку на это расстояние
instance.ActiveTab.FullEmulationMouseWheel(0, topInBrowser);
//Ведём курсор мышки к кнопке
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(video);
//Кликаем
instance.ActiveTab.FullEmulationMouseClick("left", "click");
 
  • Спасибо
Реакции: Artem Kesti и ruland16

ruland16

Read only
Read only
Регистрация
08.01.2020
Сообщения
24
Благодарностей
1
Баллы
3
Спасибо за помощь но все равно та же самая картина, если вместо +v_id+ поставить само значение переменной и вместо двойных кавычек поставить одинарные, 'nPmvuMCZRB ' , то снипет срабатывает
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
C#:
//Часть ссылки из переменной
var v_id = project.Variables["video_id"].Value;
//Находим элемент для прокрутки
var video = instance.ActiveTab.FindElementByXPath("//*/a[contains(@href, '" + v_id + "')]", 0);
//Определяем, на каком расстоянии от верха страницы находится кнопка
int topInBrowser = int.Parse(video.GetAttribute("topInBrowser"));
//Делаем прокрутку на это расстояние
instance.ActiveTab.FullEmulationMouseWheel(0, topInBrowser);
//Ведём курсор мышки к кнопке
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(video);
//Кликаем
instance.ActiveTab.FullEmulationMouseClick("left", "click");
 

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