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....