Я не могу установить значение скрытого ввода, используя Htmlunit
.Я пытаюсь установить значение HtmlHiddenInput
для 3 полей, но это не удается на 2-й time(ward)
.После установки значения для 1-го ввода, вызовы ajax происходят без изменения URL, и он устанавливает список значений в следующем раскрывающемся списке, где я не могу выбрать значение.
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_38);
webClient.getOptions().setJavaScriptEnabled(false);
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setTimeout(100000);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getCookieManager().setCookiesEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.waitForBackgroundJavaScript(120000);
webClient.getCookieManager().setCookiesEnabled(true);
//hosp
HtmlHiddenInput hiddenHosp = (HtmlHiddenInput) form1.getInputByName("ctl00_ContentPlaceHolder1_Hospital_ClientState");
String hosp1 ="{\"logEntries\":[],\"value\":\"\",\"text\":\"Royal Marsden1 Royal Marsden NHS Foundation Trust RM CHELSEA\",\"enabled\":true,\"checkedIndices\":[],\"checkedItemsTextOverflows\":false}";
hiddenHosp.setValueAttribute(hosp1);
//ward
HtmlHiddenInput hiddenWard = (HtmlHiddenInput) form1.getInputByName("ctl00_ContentPlaceHolder1_Ward_ClientState");
String ward1="{\"logEntries\":[],\"value\":\"%\",\"text\":\"All\",\"enabled\":true,\"checkedIndices\":[],\"checkedItemsTextOverflows\":false}";
hiddenWard.setValueAttribute(ward1);
//status
HtmlHiddenInput hiddenStatus = (HtmlHiddenInput) form1.getInputByName("ctl00_ContentPlaceHolder1_Status_ClientState");
String status1 = "{\"logEntries\":[],\"value\":\"%\",\"text\":\"All\",\"enabled\":true,\"checkedIndices\":[],\"checkedItemsTextOverflows\" :false}";
hiddenStatus.setValueAttribute(status1);
Снимок экрана: