2017-03-03 6 views
2

Ich benutze Selenium mit Mink, um sich automatisch auf einer Reihe unserer Websites zu registrieren.Selen mit Safari: kann die Option von der gewählten Eingabe nicht auswählen

Um dies zu tun, müssen Sie Ihr Geburtsdatum aus drei ausgewählten Eingaben auswählen. Ich benutze nur Select-Option mit der xpath des Auswahlfeldes und den Wert der gewünschten Option.

Es funktioniert gut in Firefox und Chrome, aber in Safari, mit einigen der Seiten funktioniert es und mit anderen passiert nichts. Es gibt keine Ausnahme oder irgendetwas, es tut nichts mit den Auswahlfeldern und der Rest des Tests schlägt fehl, weil die Registrierung nicht funktioniert hat.

Die CSS der Auswahlfelder ist wie folgt:

<select name="Signup:Birthday[day]" size="1" class=" date_day" id="Birthday"> 
<option value="" selected="selected">---</option> 
<option value="1">01</option> 
<option value="2">02</option> 
<option value="3">03</option> 
....... 
</select> 

ich verwende XPath //*[@id="Birthday"] und Option 3 aber in Safari es tut einfach nichts.

public function selectState($option, $name) { 
    $page   = $this->getSession()->getPage(); 
    $selectElement = $page->find('xpath', '//*[@id="Birthday"]');   
    $selectElement->selectOption($option); 
} 

Irgendwelche Ideen?

+0

'Ich bin mit XPath // * [@ id = "Geburtstag"] und Option "3"' .. Wie Sie verwenden Sie? Teilen Sie Ihren Code – Andersson

Antwort

1

können Sie versuchen:

JavascriptExecutorUtils 
    .setSelectedOptionByDisplayValue(driver, webSeleniumElement.getWebElement(), "texte"); 
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; 
jsExecutor.executeScript("arguments[0].onchange();", webSeleniumElement.getWebElement()); 
Verwandte Themen