XPath и переменная

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
Появилась необходимость вставить в XPath переменную.
Здесь нашел похожую тему, но не заработало.
Прошу помощи. Я сделал так:
C#:
int i = 2;
Active.FindElementByXPath("//section/section/div[1]/ul/li[" + i + "]", 0)
XPath вот так выглядит
C#:
//section/section/div[1]/ul/li[2]
Последняя цифра в квадратных скобках должна меняться.
 
Последнее редактирование:

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 099
Благодарностей
648
Баллы
113
У тебя правильная запись, только нужно и i конвертировать в строку.
Попробуй:
C#:
Tab tab = instance.ActiveTab;
int i =2;
tab.FindElementByXPath(String.Format("//section/section/div[1]/ul/li[{0}]", i.ToString()));
 
Последнее редактирование:

SergSh

Client
Регистрация
10.05.2017
Сообщения
540
Благодарностей
395
Баллы
63
C#:
int i = 2;
Active.FindElementByXPath("//section/section/div[1]/ul/li[" + i.ToString() + "]", 0)
 
  • Спасибо
Реакции: Roman48

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113
У меня так работает, скобки убрал, и вставил переменную, твой код у меня не заработал
59047
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113

SergSh

Client
Регистрация
10.05.2017
Сообщения
540
Благодарностей
395
Баллы
63

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113

SergSh

Client
Регистрация
10.05.2017
Сообщения
540
Благодарностей
395
Баллы
63
  • Спасибо
Реакции: Roman48

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
У меня ни один вариант не заработал.
Пришлось искать другой XPath.
Вот так пошло
C#:
            int i = 2;
            string test = "//a[contains(@title, 'View page " + i + " of the results')]";
 

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