使用 Selenium 更改输入值

Change value of input using Selenium

我正在使用 Selenium IDE 来填写表格。这不是我的网站,所以我无法更改代码。我已经设法完成了大部分事情,我努力将数据放在上面的唯一输入是这个,它使用 datepicker/calendar 而不是 "traditional" 输入:

<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 的新手,我想知道如何使用数组中的数据更改该输入的值。我已经搜索了较旧的问题以查看我能找到什么,但大多数答案都使用较旧的语法。

提前感谢您的回答。

您可以使用 Javascript 来完成此操作。您可以调用 executeScript 修改所需元素的 value 属性。

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

也可以直接传入元素:

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

希望对您有所帮助。

找到解决方案。根据@Christine 的回答,我使用 Javascript 和 运行 脚本命令解决了这个问题:

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