2016-08-24 2 views
4

Ich versuche, eine bestimmte Werte aus 2 Ajax Drop-Down-Felder zu wählen.Erste Dropdown-Option Liste öffnen, aber nicht Option auswählen, deshalb zweite Dropdown-Liste ist nicht verbindlich und Fehler aufgetreten wiekann nicht ausgewählt werden Ajax Dropdown-Wert mit Selen-Webdriver

org.openqa.selenium.NoSuchElementException: Kann nicht Element lokalisieren: Option [value = "111"].

Bitte helfen Sie mir .. Ich bin neu auf Selen

Hier ist mein Code ..

Code

HTML Block:

HTML block

+0

was ist der Fehler erhalten Sie, wenn Sie mit selectByVisibleText ??? –

+0

Hallo Swa, und willkommen bei Stack Overflow. Anstatt Ihren HTML-Code und Web-Treiber-Code als Screenshots zu veröffentlichen, wäre Ihre Frage besser, wenn Sie den Code - nur die relevanten Bits - in Ihre Frage mit Markdown einfügen würden. –

+0

@swa wie Sie das gelöst haben, fügen Sie es als Lösung hinzu und markieren Sie es als Antwort. Es wird anderen Benutzern helfen, es zu debuggen. Außerdem fügen Sie weitere Erläuterungen zu den Versionen hinzu, die Sie in der Umgebung verwendet haben. :) – jit

Antwort

2

Dieses Problem trat aufgrund des Kompatibilitätsproblems von Firefox-Browser (Version 45) auf. Ich benutze Selen 3.0.0-Beta2 und Test gegen Firefox 45.0.2

Wenn versucht Geckodriver (Version 0.10.0) für OS Windows 10 -64 Bit, scheint es etwas nicht funktioniert. Es funktioniert nur mit Firefox 48 oder höher. Es funktioniert erfolgreich auf chromedriver

0

Sie können versuchen, eine spezifischere Art, mit Drop-downs in Selen zu interagieren. Versuchen Sie dies so etwas wie:

Select dropdown = new Select(driver.findElement(By.id("cmbJob"))); 
dropdown.selectByValue("111"); 

Sie auch eine Funktion für die Arbeit mit dropdwns definieren:

protected void chooseOptionInSelectByValue(String selectId, String valueString) { 
    Select dropdown = new Select(driver.findElement(By.id(selectId))); 
    dropdown.selectByValue(valueString); 
} 

So können Sie die Funktion wie dieses

chooseOptionInSelectByValue("cmbJob","111"); 

Selen Drop-Down-Objekt viele andere Optionen wie SelectByText, etc. Überprüfen Sie es in der API hier: https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/Select.html

+0

versuchte über Lösung. Und selectByVisibleText, indem Sie Xpath zu verwenden, aber immer noch der gleiche Fehler aufgetreten ist ... Bitte schlagen Sie mir – Swa

+0

@ Ricardo..Vielen Dank für die Antwort .. Es gibt eine versteckte ein div vor 'ersten Drop-Down "div. Gibt es ein Problem wegen dieser versteckten div? – Swa

+0

@Swa sollte dies kein Problem sein. Aber überprüfe deinen HTML-Code, weil ich zwei mit name = "cmbJob" auswählen kann. Sie können prüfen, ob neue Select (driver.findElement (By.id (selectId))) den richtigen Dropdown-Druck zu einem Protokoll oder System findet.Wählen Sie seine Elemente mit 'dropdown.getOptions()' aus. siehe https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/Select.html#getOptions-- –

Verwandte Themen