问题描述
我有下一个问题:当我尝试使用以下方式发送值(电话号码)时:
elem.sendKeys("6547898");
我不能这样做,因为表单只能与整数一起使用。 我知道我可以使用:
robot.keyPress(KeyEvent.VK_9);
(并且我曾经使用过它并且可以正常工作),但也许有人知道不使用Robot()
怎么做?
Robot
不舒服。
谢谢!
1楼
假设elem
是WebElement
,则可以使用:
import org.openqa.selenium.Keys;
...
elem.sendKey(Keys.NUMPAD9);
编辑
由于此操作不起作用,因此“机器人”的另一种选择是通过WebDriver
实例运行JavaScript代码段,以将字段的值更改为所需的值。
就像这样:
((JavascriptExecutor) driver).executeScript("$('#phone').prop('value', '+3806547898');");
2楼
sendKeys()不接受Integer作为参数,因此您需要将整数转换为字符串,然后在sendKeys命令中使用它。
例
int intPeriod= (int)Double.parseDouble(period);
element.sendKeys(String.valueOf(intPeriod));