Selenium Webdriver Java - 创建按钮并按下它
Selenium Webdriver Java - Create button and push it
我正在使用 Selenium Webdriver(Chrome 和 Firefox)和 Java .
做了各种操作后,我发现了一个像这样的常规源代码:
<input type="button" value="yoyo" class="btn" onClick="SubmitForm(this, 'XYZ','_blank')" >
我需要按下按钮..但在按下按钮之前(定期),我需要将 "XYZ" 更改为 "ABC"。有什么办法吗?
或者创建一个新按钮或一个表单然后按下它?
或什至以某种方式使用 javascript.. 什么都行。
我找不到有关如何执行此操作的任何信息,非常感谢您的帮助。
您需要按照此处所述使用 JavascriptExecutor:
WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('//id of element').setAttribute('onClick', 'SubmitForm(this, \'ABC\',\'_blank\')')");
如果输入元素没有 ID,您可能需要通过 XPath 查找它。
您可以在运行时自动化期间更改它,然后 click
使用 JavascriptExecutor
如下:-
WebElement el = driver.findElement(By.className("btn"))
((JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('onClick', arguments[1]);arguments[0].click();", el, "SubmitForm(this, 'ABC','_blank')");
注意:- 这不会作为永久解决方案生效。此效果将一直作用于页面,直到页面不再刷新。
希望它会起作用..:)
我正在使用 Selenium Webdriver(Chrome 和 Firefox)和 Java .
做了各种操作后,我发现了一个像这样的常规源代码:
<input type="button" value="yoyo" class="btn" onClick="SubmitForm(this, 'XYZ','_blank')" >
我需要按下按钮..但在按下按钮之前(定期),我需要将 "XYZ" 更改为 "ABC"。有什么办法吗?
或者创建一个新按钮或一个表单然后按下它?
或什至以某种方式使用 javascript.. 什么都行。
我找不到有关如何执行此操作的任何信息,非常感谢您的帮助。
您需要按照此处所述使用 JavascriptExecutor:
WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('//id of element').setAttribute('onClick', 'SubmitForm(this, \'ABC\',\'_blank\')')");
如果输入元素没有 ID,您可能需要通过 XPath 查找它。
您可以在运行时自动化期间更改它,然后 click
使用 JavascriptExecutor
如下:-
WebElement el = driver.findElement(By.className("btn"))
((JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('onClick', arguments[1]);arguments[0].click();", el, "SubmitForm(this, 'ABC','_blank')");
注意:- 这不会作为永久解决方案生效。此效果将一直作用于页面,直到页面不再刷新。
希望它会起作用..:)