2016-04-25 5 views
0

Ich versuche mit HtmlUnit auf ein Anchor-Tag "More" auf einer Website zu klicken, um eine Liste zu erweitern, bis kein Anker-Tag mehr existiert.Java HtmlUnit Klick auf Anker Link funktioniert nicht. Wie bekomme ich die neue Seite?

page = client.getPage(url); 

HtmlAnchor anchor; 

while((anchor = page.getFirstByXPath("//a[@class='load-more list']")) != null) { 

page = (HtmlPage) anchor.getPage(); 

} 

Ich habe auch versucht page = anchor.click();

System.out.println(anchor) zeigt

Htmlanchor [a href = "/ guideitem/Liste /? Id = G407 & request = browse & filter = ZmlsdGVyPXMlM2FmcmVlJmxpbWl0PTMw" class = "load-mehr liste" data-hijax = "false"]

Ich werde weiterhin in dieses Problem schauen und posten, was ich hier finde.

Antwort

0

Ich hatte ein etwas ähnliches Problem, hoffe, dass dies hilft. It "selbst gelöst", nachdem wir deaktiviert CSS auf dem WebClient:

webClient.getOptions().setCssEnabled(false); 

Mein Anker war:

<div class="my-anchors-parent-class"/> 
    <a href="javascript:void(0) class="text" id="buttonSearch" style="display: block;">Search</a> 
</div> 

Es hatte einige JQuery die .click() -Prozedur, um es angebracht, die auf der Grundlage handelten das ‚Klasse‘ Eigentum der Eltern meines Ankers:

$('.my-anchor's-parent-class').each(function() { 
     $(this).children('a').click(function() { 
      // if parent has another given class appended, call .myFunction(this) 
      // else, call other function 
     }); 
    }); 

Wenn wir die CSS, die .click() reaktivieren wieder gebrochen.

Verwandte Themen