0

HtmlUnitDriver で要素を探しています。要素はテキスト フィールド (入力) です。

    WebElement username = driver.findElement(By.id("username"));
    username.clear();
    username.sendKeys("myValue");

username.clear() で内容をクリアしようとしました。しかし、それは私に与えます

要素が古くなっているようです。それを含むページから移動しましたか?

ページを移動しているわけではないので、ほとんど意味がありません。これが何かわかる人いますか?

4

1 に答える 1

1

これを試して、動作するかどうかを確認できます。

public static WebElement getElementByLocator( By locator ) {
  driver.manage().timeouts().implicitlyWait( 5, TimeUnit.SECONDS );
  WebElement we = null;
  boolean unfound = true;
  while ( unfound ) {
    try {
        we = driver.findElement( locator );
        unfound = false; // FOUND IT
      } catch ( StaleElementReferenceException e ) {                        
        unfound = true;
        Thread.sleep(4000);
      }     
    } 
  }
  driver.manage().timeouts().implicitlyWait( DEFAULT_IMPLICIT_WAIT, 
        TimeUnit.SECONDS );
  return we;
}

それで、

WebElement username = getElementByLocator( By.id("username") );
username.clear();
username.sendKeys("myValue");
于 2013-03-15T16:04:14.387 に答える