Selenium:如何通过executeScript()发送变量字符串

时间:2018-04-01 10:10:31

标签: javascript java selenium selenium-webdriver automated-tests

我需要在系统内做一些自动测试。有些字段得到了验证,它可能只能通过sendKeys来完成(然后我就这样做了,它只写了一个字符串,而不是整个。尝试通过字符串迭代sendKeys,没有#&# 39;工作要么)

现在我正试图通过javascript输入值到字段。得到类似的东西:

WebElement pesel = driver.findElement(fldPesel);
jse.executeScript("arguments[0].value='80120804076';", pesel);

但是,我希望在executeScript中没有价值,而是java变量,所以看起来效果会更好。得到一些随机化

我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

根据您的声明我希望在executeScript中没有价值,但是java变量你可以通过 Java 引用 Sting 值变量:

String myValue = "80120804076";
WebElement pesel = driver.findElement(fldPesel);
jse.executeScript("arguments[0].value='" + myValue + "';", pesel);

答案 1 :(得分:0)

您可以使用多个arguments。您还应该使用setAttribute来执行此操作

String value = "80120804076";
WebElement pesel = driver.findElement(fldPesel);
jse.executeScript("arguments[0].setAttribute('value', `arguments[1]');", pesel, value);