2014-09-15 2 views
2

Я использовал selectByVisibleText, но метод on change, связанный с combobox, не запускается.selenium selectByVisibleText не запускается при изменении метода

Это код выпадающего

<form id="j_idt421" class="manageUsersPickerForm ng-pristine ng-valid" style="margin: 20px 0 40px 0;" enctype="application/x-www-form-urlencoded" action="/backoffice/manage-merchant-users.xhtml" method="post" name="j_idt421"> 
<input type="hidden" value="j_idt421" name="j_idt421"/> 
<select id="j_idt421:merchantPicker" class="floatLeft mr5" onchange="RichFaces.ajax(this,event,{"parameters" {"cid":"14256","javax.faces.behavior.event":"change","org.richfaces.ajax.component":"j_idt421:merchantPicker"} ,"sourceId":this})" size="1" name="j_idt421:merchantPicker"> 
<option value="-1">Select a merchant</option> 
<option value="0">automerchant</option> 
</select> 
<input id="javax.faces.ViewState" type="hidden" autocomplete="off" value="8152201385695173409:3385672536636852427" name="javax.faces.ViewState"/> 
</form> 

И код селена:

Select droplist = new Select(By.xpath("//select[contains(@id, 'merchantPicker')]")); 
droplist.selectByVisibleText("automerchant"); 

После выбора значения в поле со списком, страницу замораживать и не появляется другая части.

Я использую chromedriver 2,10

Кто-нибудь есть решение этой проблемы?

Благодаря

ответ

0

Try путем заставляя OnChange событие происходит с помощью Javascript, как показано ниже:

Select droplist = new Select(By.xpath("//select[contains(@id, 'merchantPicker')]")); 
droplist.selectByVisibleText("automerchant"); 

WebElement ele = driver.findElement(By.xpath("//select[contains(@id, 'merchantPicker')]")); 
JavascriptExecutor js= (JavascriptExecutor)driver; 
js.executeScript("arguments[0].onchange()", ele); 
+0

Спасибо за ваш ответ, но это не решает мою проблему. Изменения не меняются – user3110832

Смежные вопросы