Изменить значение ввода с помощью Selenium - PullRequest
0 голосов
/ 23 октября 2019

Я использую Selenium IDE для заполнения формы. Это не мой сайт, поэтому я не могу изменить код. Мне удалось сделать большинство вещей, единственный ввод, который я изо всех сил пытаюсь поместить данные, является этим, который использует указатель даты / календарь вместо "традиционного" ввода:

enter image description here

<input class="rich-calendar-input " id="dtEmissaoInputDate" maxlength="10" name="dtEmissaoInputDate" onkeypress="IsNumber(this,event);mascaraData(this,event);" size="15" style="vertical-align: middle; " type="text" value="09/10/2019" readonly="readonly">

Поскольку я новичок в Selenium, я хотел бы знать, как изменить значение этого входа, используя данные, которые у меня есть в массиве. Я уже искал старые вопросы, чтобы увидеть, что я мог найти, но большинство ответов используют старый синтаксис.

Заранее спасибо за ответы.

Ответы [ 2 ]

1 голос
/ 23 октября 2019

Вы можете использовать Javascript для достижения этой цели. Вы можете вызвать executeScript, чтобы изменить атрибут value нужного элемента.

executeScript("document.getElementById('dtEmissaoInputDate').setAttribute('value', 'yourTextHere')");

Вы также можете передать элемент напрямую:

executeScript("arguments[0].setAttribute('value', 'yourTextHere')", inputElement);

Надеюсь, это немного поможет.

0 голосов
/ 23 октября 2019

Нашел решение. Основываясь на ответе @ Christine, я должен был решить проблему, используя Javascript и команду run script:

"command": "runScript", "target": "document.getElementById ('dtEmissaoInputDate'). Value = '01/01/2018»

...