如何使用 Selenium JavascriptExecutor 将 "Input Tags" 附加到运行时动态的 DOM 中?
How to append "Input Tags" into the DOM in Runtime Dynamically using Selenium JavascriptExecutor?
我需要在 运行 时间内(动态)将以下元素附加到 DOM..
<input type="text" name="imagesToAdd" value="3566">
我尝试使用 Selenium JavascriptExecutor 来实现;但是它给出了一个错误 "org.openqa.selenium.WebDriverException: document.getElementById(...).append is not a function"
((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);
我需要在 运行 时间内(动态)将以下元素附加到 DOM..
<input type="text" name="imagesToAdd" value="3566">
我尝试使用 Selenium JavascriptExecutor 来实现;但是它给出了一个错误 "org.openqa.selenium.WebDriverException: document.getElementById(...).append is not a function"
((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);