Bonjour,
Je développe une application qui met a jour des annonces automatiquement mais je rencontre un problème lors d'un simple clic sur un input de type submit.
Je récupère la page et le formulaire sans problème. Je sélectionne l'input, execute la fonction click(), mais cela me retourne une exception de type ClassCastException alors que je ne fais aucun cast...
La suite du coup est exécutée, mais le clic n'est pas réalisé, car la page retournée est exactement la même qu'avant le clic. Je vérifie également la date de dernière mise a jour qui ne change pas après exécution du code.
Voici le code de création de WebClient et soumission du formulaire:
Et voici l'exception catché:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 this.webClient = new WebClient(BrowserVersion.CHROME); webClient.getOptions().setJavaScriptEnabled(true); webClient.getOptions().setThrowExceptionOnScriptError(true); webClient.getOptions().setCssEnabled(false); webClient.setAjaxController(new NicelyResynchronizingAjaxController()); webClient.getOptions().setThrowExceptionOnScriptError(false); webClient.getOptions().setRedirectEnabled(true); final HtmlPage jobPage = webClient.getPage("https://mySite/j#edit-job?id="+job.getJobID()); webClient.waitForBackgroundJavaScript(15000); HtmlForm form = jobPage.getFormByName(""); HtmlSubmitInput submit = null; final List<HtmlInput> inputs = form.getInputsByName(""); for(HtmlInput input : inputs){ if(input.getAttribute("id").equals("postFormSubmit")){ submit = (HtmlSubmitInput)input; break; } } if(submit != null){ try { HtmlPage confirmUpdate = submit.click(); webClient.waitForBackgroundJavaScript(15000); System.out.println("response : \n\n"); System.out.println(confirmUpdate.asText()); System.out.println("end response"); } catch(Exception e){ e.printStackTrace(); } } else { System.out.println("submit input non trouvé"); }
Merci d'avance pour votre aide. Je suis vraiment en retard et cela doit être fonctionnel au plus vite...Code:
Si vous connaissez d'autres moyens de déclencher un évènement Clic autre que HtmlUnit, je suis preneur
