Передача переменной в FindsBy селен - PullRequest
0 голосов
/ 17 июня 2019

Я хочу передать переменную элементу.Мой HTML-код похож на

<input class="form-control" data-bind="textInput: code, attr: { id: 'myTable_code_' + $index() }" type="text" id="myTable_code_0" style="">

Я объявил элемент как

  [FindsBy(How = How.Id, Using = "myTable_code_" + myVariable), CacheLookup]
  private HtmlElement _Code;

Но посторонний, который не работает.Есть кто-нибудь идея о том, как передать varialbe в атрибут.Я использую c #

Ответы [ 2 ]

1 голос
/ 17 июня 2019

Вы не можете сделать это, аннотации являются постоянными значениями, хранящимися в файле класса.Вы не можете вычислить их во время выполнения.

Ниже должно работать: - Использование = "myTable_code_0")

См. Можно ли определять переменные аннотации во время выполнения ?

Хотя, это для Java, но я думаю, что это справедливо и для C #.

0 голосов
/ 17 июня 2019

Вместо использования find by, как насчет формата строки?Вам нужно будет немного отрегулировать это в зависимости от настроек, но в зависимости от того, что вы хотите сделать со значением, вы можете сделать что-то вроде этого ...

        string myVariable = "blah";
        string value =  Browser.FindElement_byXPath(string.Format("//input[@id='myTable_code_0']//h4[contains(text(), '{0}')]", myVariable)).Text;
...