Comment résoudre le org.openqa.le sélénium.NoSuchElementException

Je suis en train de lancer ce programme:

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class HtmlDriver {
  public static void main(String[] args) {
     //Create a new instance of the html unit driver
     //Notice that the remainder of the code relies on the interface,
     //not the implementation.
  WebDriver driver = new HtmlUnitDriver();

      //And now use this to visit Google
      driver.get("http://www.stumbleupon.com/home/");

      //Find the text input element by its name
     WebElement element = driver.findElement(By.name("q"));

      //Enter something to search for
      element.sendKeys("Cheese!");

      //Now submit the form. WebDriver will find the form for us from the element
      element.submit();

      //Check the title of the page
      System.out.println("Page title is: " + driver.getPageSource());
 }
}

Et je suis l'exception suivante:

Exception in thread "main" org.openqa.le sélénium.NoSuchElementException: Impossible de localiser l'élément avec nom: q
Infos système: os.nom: "Linux", os.arc: "i386", os.version: '2.6.27-7-generic", de java.version: '1.6.0_12'
Des informations sur les pilotes: pilote.version: HtmlDriver
au org.openqa.le sélénium.interface htmlunit.HtmlUnitDriver.findElementByName(HtmlUnitDriver.java:651)
au org.openqa.selenium.By$4.findElement(Par.java:148)
au org.openqa.le sélénium.interface htmlunit.HtmlUnitDriver$4.appel(HtmlUnitDriver.java:1133)
au org.openqa.le sélénium.interface htmlunit.HtmlUnitDriver$4.appel(HtmlUnitDriver.java:1)
au org.openqa.le sélénium.interface htmlunit.HtmlUnitDriver.implicitlyWaitFor(HtmlUnitDriver.java:869)
au org.openqa.le sélénium.interface htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:1130)
au org.openqa.le sélénium.interface htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:330)
au com.webdrivertest.HtmlDriver.principale(HtmlDriver.java:20)

Merci de m'aider à le résoudre.

Je suggère l'utilisation de Selenium IDE. De cette façon, vous pouvez "drive" à travers les pages que vous voulez, puis de formater le code de la langue dont vous avez besoin.
Toute une trouvé de réponse à cette question? Je suis googler d'hier, mais pas de celui fourni une solution pour cela. Je me demande est-il une solution pour ce problème?
HtmlUnitDriver est un qui est mauvais dans l'exécution de JS. Si la page web ciblée utilise beaucoup les os JS ou encore AJAX HtmlUnitDriver il n'est pas une option. La grande chose au sujet de sélénium web pilotes, que vous pouvez exécuter le même code avec de vrais navigateurs, comme mentionné dans d'autres réponses...

OriginalL'auteur d5111 | 2011-01-05