使用 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'",
我正在使用 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'",