2015-08-22 97 views
1

我試圖在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"); 
+0

什麼是例外?而且,究竟發生了什麼? – Saifur

+0

異常 - >線程「main」中的異常org.openqa.selenium.ElementNotVisibleException:元素當前不可見,因此可能不會與之交互。 ........... 我能夠從webelement獲取值並在控制檯中打印。但是,無法將我想要的值輸入webelement。 – Dhinesh

+0

我無法在* Naukri.com *上找到具有ID * nokia *的元素。我錯過了什麼嗎? – Saifur

回答

1

的原因是電話號碼設置爲屬性,只有這樣,我知道更新是使用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"); 
+0

嗨Saifer,我試了一個你發佈和獲取following implementationion error'方法executeScript(String)對於類型JavaScriptExecutor未定義'。你能給我建議解決方案嗎? – Dhinesh

+0

對不起,有一個錯字。剛剛更正。再試一次 – Saifur

相關問題