当有多个sendkeys时,Selenium sendkeys清除值

时间:2015-01-28 04:43:59

标签: java selenium-webdriver sendkeys

我有一个试图sendkeys()的硒代码 我正在使用firefox 35.0.1selenium webdriver 2.44以及eclipse Luna

WebDriver d1 = new FirefoxDriver()
d1.get("www.xx.com")
WebElement username=d1.findElement(By.xpath(".//*[@id='login_username']/input"))     
WebElement password=d1.findElement(By.xpath(".//*[@id='login-assword']/input"))    
username.sendKeys("admin")      
password.sendKeys("welcome")  

这会输入值并在我提交值之前将其删除。 尝试添加

  1. d1.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS)
  2. 我尝试过Thread.sleep(x);
  3. 但没有任何工作请帮助我。

1 个答案:

答案 0 :(得分:1)

单击文本字段后尝试使用Thread.sleep,然后执行sendKeys()。 如果这不起作用,请尝试等待,直到完全加载文档。见下面的功能:

void waitForPageLoad(WebDriver driver)
{   
ExpectedCondition<Boolean> pageLoadCondition = new ExpectedCondition<Boolean>() 
{       
public Boolean apply(WebDriver driver)
{
return ((JavascriptExecutor)driver).executeScript("return document.readyState").equals("complete");
}
};  
wait.until(pageLoadCondition);    
}