如何将 "int" 值发送到 from,阻止任何字符串 sing

How to send "int" value in to from, that blocking any string sing

我遇到下一个问题:当我尝试使用以下方式发送值(phone 数字)时:

 elem.sendKeys("6547898"); 

我做不到,因为表单只能处理整数。 我知道我可以使用:

 robot.keyPress(KeyEvent.VK_9); 

(我用过它并且有效)但可能有人知道如何在不使用 Robot() 的情况下做到这一点? Robot不舒服

谢谢!

假设elemWebElement,你可以使用:

import org.openqa.selenium.Keys;

...

elem.sendKey(Keys.NUMPAD9);

编辑

由于这不起作用,机器人的替代方法是 运行 通过您的 WebDriver 实例的 JavaScript 片段,以将字段的值更改为您想要的值。它会是这样的:

((JavascriptExecutor) driver).executeScript("$('#phone').prop('value', '+3806547898');");

sendKeys() 不接受整数作为参数,因此您需要将整数转换为字符串,然后在 sendKeys 命令中使用它。

示例

int intPeriod= (int)Double.parseDouble(period);
element.sendKeys(String.valueOf(intPeriod));