Beste tweakerts,
Heb een web-scraper gebouwd die m.b.v. een opgeslagen user login/pass op een website inlogt en vervolgens bepaalde informatie download. De desbetreffende website is helemaal opnieuw gemaakt en nu werkt mijn code niet meer. Voorheen werkte dit:
maar dat levert nu een:
Exception in thread "main" com.gargoylesoftware.htmlunit.ElementNotFoundException: elementName=[input] attributeName=[value] attributeValue=[ctl00$MainContent$PublicLogin$LoginView1$Login1$UserName]
De form wordt nog wel goed geextraheerd want als ik die naar Xml save krijg ik een form:
Enig idee hoe ik dit het beste kan benaderen? Wellicht via getByXPath ? Heb daar beetje mee gestoeid maar kwam niet echt veel verder....
Heb een web-scraper gebouwd die m.b.v. een opgeslagen user login/pass op een website inlogt en vervolgens bepaalde informatie download. De desbetreffende website is helemaal opnieuw gemaakt en nu werkt mijn code niet meer. Voorheen werkte dit:
code:
1
2
3
4
5
6
| final HtmlPage page = webClient.getPage(this.login_url); List<HtmlForm> forms_from_login_page = page.getForms(); HtmlForm form_from_login_page = forms_from_login_page.get(0); HtmlTextInput userNameTextField = form_from_login_page.getInputByName("ctl00$MainContent$PublicLogin$LoginView1$Login1$UserName"); HtmlPasswordInput passwordTextField = form_from_login_page.getInputByName("ctl00$MainContent$PublicLogin$LoginView1$Login1$Password"); |
maar dat levert nu een:
Exception in thread "main" com.gargoylesoftware.htmlunit.ElementNotFoundException: elementName=[input] attributeName=[value] attributeValue=[ctl00$MainContent$PublicLogin$LoginView1$Login1$UserName]
De form wordt nog wel goed geextraheerd want als ik die naar Xml save krijg ik een form:
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
| <form name="userInfoForm" ng-submit="$ctrl.signIn(userInfoForm)" novalidate="" class="ng-pristine ng-invalid ng-invalid-required"> <div class="form-group"> <div class="form-group"> <!-- ngIf: $ctrl.responseModel.errorMessage --> </div> <div class="form-group"> <label class="sr-only"> Username </label> <input id="kitnum-input" tabindex="1" type="text" class="form-control ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" placeholder="Username" ng-model="$ctrl.kitNum" ng-change="$ctrl.onType(userInfoForm)" autofocus="" required=""/> </div> <div class="form-group"> <label class="sr-only"> Password </label> <input id="password-input" tabindex="2" type="password" class="form-control ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" placeholder="Password" ng-model="$ctrl.password" ng-change="$ctrl.onType(userInfoForm)" required=""/> </div> </div> <div class="form-group text-center cta-space cta"> <button id="sign-in-btn" type="submit" value="Sign in" data-style="zoom-in" class="btn btn-main btn-uppercase ladda-button" loading-data-button="" loading="false" ng-disabled="$ctrl.submitDisabled" disabled="disabled"> <span class="ladda-label"> Sign In </span> <span class="ladda-spinner"> </span> </button> </div> </form> |
Enig idee hoe ik dit het beste kan benaderen? Wellicht via getByXPath ? Heb daar beetje mee gestoeid maar kwam niet echt veel verder....