我有下一个问题:当我尝试使用以下方式发送值(电话号码)时
elem.sendKeys("6547898");
我不能这样做,因为表单只能用整数。 我知道我可以使用:
robot.keyPress(KeyEvent.VK_9);
(我已经使用它并且它有效)但可能有人知道如何不使用Robot()
吗? Robot
不舒服。
谢谢!
答案 0 :(得分:1)
假设elem
是WebElement
,您可以使用:
import org.openqa.selenium.Keys;
...
elem.sendKey(Keys.NUMPAD9);
修改强>
由于这不起作用,因此Robot的替代方法是通过WebDriver
实例运行JavaScript代码段,将字段值更改为您想要的值。它会是这样的:
((JavascriptExecutor) driver).executeScript("$('#phone').prop('value', '+3806547898');");
答案 1 :(得分:0)
sendKeys()不接受Integer作为参数,因此您需要将整数转换为字符串,然后在sendKeys命令中使用它。
实施例
int intPeriod= (int)Double.parseDouble(period);
element.sendKeys(String.valueOf(intPeriod));