无法使用selenium在文本框中输入值

时间:2015-08-22 18:15:50

标签: selenium-webdriver

我正在尝试在Naukri.com中自动更新我的号码。我能够从文本框中获取值,但无法更新值。这就是我试过的:

WebElement mobileNo = driver.findElement(By.id("mobile")); 
if(mobileNo.getAttribute("value").equals("9912345678"))
{
    System.out.println("Test Ran");
    mobileNo.clear();
    mobileNo.sendKeys("+91 9912345678");
}
else if(mobileNo.getAttribute("value").equals("+91 9944991706"))
{
    mobileNo.clear();
    mobileNo.sendKeys("9912345678");
}
System.out.println("Test Ran");

1 个答案:

答案 0 :(得分:1)

原因是电话号码设置为属性,只有我知道更新的方法是使用带有Selenium的JavaScript。您可以轻松使用以下JavaScript和JQuery来更新电话号码。

WebElement mobileNo = driver.findElement(By.id("mobile")); 
JavascriptExecutor jscript = (JavascriptExecutor)driver;

if(mobileNo.getAttribute("value").equals("9912345678"))
{
    System.out.println("Test Ran");
    jscript.executeScript("$('#mobile').attr('value','+91 9912345678')");

}
else if(mobileNo.getAttribute("value").equals("+91 9944991706"))
{
    jscript.executeScript("$('#mobile').attr('value','9912345678')");
}
System.out.println("Test Ran");