java - 如何使用 Selenium JavascriptExecutor 在运行时动态地将 "Input Tags"附加到 DOM 中?

标签 java javascript selenium executor

我需要在运行时(动态)将以下元素附加到 DOM。

    <input type="text" name="imagesToAdd" value="3566">

我尝试使用 Selenium JavascriptExecutor 来做到这一点;但它给出了一个错误,说“org.openqa.selenium.WebDriverException:document.getElementById(...).append不是一个函数”

((JavascriptExecutor) driver).executeAsyncScript("document.getElementById('post-ad_title').append('<input type=\"text\" name=\"imagesToAdd\"value=\"3566\">')");

最佳答案

您可以使用 Node.appendChild() 来完成此操作设置所需的属性;

String script = "var p = document.createElement('input');var ele = document.getElementById('post-ad_title');p.setAttribute('type','text');p.setAttribute('name','imageToAdd');p.setAttribute('value','3566'); ele.appendChild(p);";
((JavascriptExecutor) driver).executeScript(script);

关于java - 如何使用 Selenium JavascriptExecutor 在运行时动态地将 "Input Tags"附加到 DOM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30596071/

相关文章:

javascript - 数据表中数组变量的粒度操作

javascript - fqdn 后缺少正斜杠

python-3.x - 如何在使用 python 的 selenium 脚本中减慢 send_keys 操作的速度?

java - 您无法映射不存在的属性 : propertyName=baseName when build using gradle 7. 0

java - Primefaces 中的视觉 "busy"指示

java - Lucene 查询 @indexedEmbedded 对象 id

java - 使用Seek Bar缩放android Canvas

javascript - 响应式卡片布局 CSS 设计未修复

java - sendkeys(keys.Down) 和 sendkeys(keys.Arrow_Down) 之间的区别

java - Selenium 中自动建议下拉菜单的点击值