2016-05-06 8 views
-1

Ich versuche, eine Textbox einzugeben, die mit etwas anderem Text ausgefüllt ist .. Seine Art von einem Textfeld, das auch wie ein Drop-down funktioniert (Sie können diese Box eingeben und es bringt den passenden Text wie ein Dropdown. eintippen. Die Aktionen, die ich auf der Seite ausführe, sind Scrollen auf der Seite, indem ich versuche, das Element (TextBox) zu finden und darauf zu schreiben. Ich verwende den folgenden CodeElementNotVisibleException: Element nicht sichtbar Fehler beim Versuch, ein Textfeld einzugeben

((JavascriptExecutor) -Treiber) .executeScript ("scroll (0,400)");

Thread.sleep(4000); 

    WebDriverWait wait = new WebDriverWait(driver,20); 
    wait.until(ExpectedConditions.ElementIsVisible(By.cssSelector("#reg_country"))); //examining the cssselector for a search  

    //driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    WebElement RegisteredCountry = driver.findElement(By.cssSelector("#reg_country")); 
    RegisteredCountry.sendKeys("Afghanistan"); 

Ich habe auch versucht Implizite warten vor dem Tippen auf das Element. Aber es ist unzuverlässig. Unten ist der Fehler, den ich bekomme. Bitte geben Sie

ElementNotVisibleException: Element nicht sichtbar Fehler, wenn ein Textbox

+1

immer beste Art und Weise erinnern, um Hilfe zu erhalten auf SO einen minimalistischen runnable Code zu erhalten, dass Ihre issue..with obigen Code zeigt es schwierig zu beurteilen, wo das Problem sein könnte ..und Sie würden stattdessen mögliche Lösungen erhalten. –

+0

Ich habe meine Frage bearbeitet .. Bitte sehen Sie, wenn Sie mir irgendetwas vorschlagen könnten –

Antwort

0

Versuchen Sie, geben Sie versuchen, ein Klick auf das Textfeld ausführen, dann vielleicht eine klare vor Tastaturbefehle ausführen.

+0

Nein, es hat nicht funktioniert .. Ich habe versucht, auf die Textbox klicken und dann versucht zu tippen .. Immer noch bekomme ich den gleichen Fehler .. Jeder andere Vorschlag pls? –

0

Wenige Dinge:
1. Vergewissern Sie sich, dass Ihr Locator immer nur ein Objekt zurückgibt, und das ist das Objekt, das Sie wünschen.
2. Führen Sie Ihren Code im Debug-Modus Schritt für Schritt und sehen Sie, wo es bricht oder welche Kontrolle für Selen nicht sichtbar ist.
3. Untersuchen Sie dieses Element in Firebugs HTML-Panel, um zu überprüfen, ob es wirklich sichtbar (oder nicht grau) ist.
Versuchen Sie, Ihr Szenario auf einer der öffentlichen URLs zu replizieren, um sicherzustellen, dass Ihr App-bezogenes Problem oder Selen-bezogenes Zeug nicht.

-1

Try this:

WebElement RegisteredCountry = driver.findElement(By.cssSelector("#reg_country")); RegisteredCountry.sendKeys("Afghanistan"); RegisteredCountry.sendKeys(Keys.ENTER);

+0

Entschuldigung ,, Hat nicht funktioniert .. Es ist nichts auf der Textbox tippen .. Irgendwelche anderen Vorschlag vielleicht? –

+0

Wenn Sie diesen Selektor verwenden, können Sie das Element während des Debuggens erhalten? –

Verwandte Themen