我使用selenium webdriver,并使用Sendkeys方法在文本框中将"1"设置为整数。但当我点击继续时,它会将文本框重置为0,就好像没有有效值一样。
当我手动做同样的事情时,它正在发生。
后来我知道Sendkeys("1"(方法将1作为字符串发送,而不是作为整数发送。
如何处理这件事?我找到的一种方法是java脚本执行器。
还有其他更好的方法吗?
寻找正面回应
如果它以手动方式工作,请尝试以下操作:
Robot rob = new Robot();
rob.keyPress(KeyEvent.VK_1);
rob.keyRelease(KeyEvent.VK_1);
我在Java中工作,但在C#中应该非常相似,甚至可能相同。
使用以下代码:
public void sendKeysINTByJS(WebDriver driver, WebElement element, int attributeValue){
JavascriptExecutor js = ((JavascriptExecutor) driver);
js.executeScript("arguments[0].setAttribute('value','"+attributeValue+"');", netQtty);
}
您也可以通过更改参数类型将其用于字符串。