Wenn Sie zu https://parcelinquirytreasurer.cochise.az.gov/ gehen, geben Sie 3020702601 im Textfeld an und klicken Sie auf Senden. Wenn Sie auf diesen 514,20 US -Dollar klicken, erhalten Sie eine neue Seite mit einer neuen Tabelle. In Ihnen inspizieren Sie jedes Element dieser Tabelle, Sie werden sehen, dass es rolle = "Treegrid" hat. Die Tabelle mit rollen = "Treegrid".package cochise3020702601;
import java.util.*;
import org.htmlunit.*;
import org.htmlunit.html.*;
public class Cochise3020702601 {
public static void main(String[] args) {
try (final WebClient webClient = new WebClient(BrowserVersion.FIREFOX)) {
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setThrowExceptionOnScriptError(false);
HtmlPage page = webClient.getPage("https://parcelinquirytreasurer.cochise.az.gov/");
webClient.waitForBackgroundJavaScriptStartingBefore(10_000);
page = (HtmlPage) page.getEnclosingWindow().getEnclosedPage();
List forms = page.getByXPath("//form[@method='post']");
Iterator formsIterator = forms.iterator();
HtmlForm form = formsIterator.next();
List his = form.getByXPath("//input[@value='Submit']");
Iterator hisIterator = his.iterator();
HtmlInput hi = hisIterator.next();
HtmlTextInput textField = form.getInputByName("parcelNumber_input");
textField.type("3020702601");
HtmlPage page2 = hi.click();
webClient.waitForBackgroundJavaScriptStartingBefore(10_000);
List accountTables = page2.getByXPath("//table[@role='grid']");
Iterator accountTablesIt = accountTables.iterator();
HtmlTable accountTable = (HtmlTable) accountTablesIt.next();
List clickables = accountTable.getCellAt(5,5).getByXPath("//a[@class='gridlink']");
Iterator clicks = clickables.iterator();
HtmlElement he2 = (HtmlElement) clicks.next();
HtmlPage page3 = (HtmlPage) he2.click();
List hts = page3.getByXPath("//a[@role='treegrid']");
System.out.println("hts.size() = " + hts.size());
System.out.println("--------------------------------------------------------");
}
catch (Exception e) {
System.out.println("Exception: " + e.toString());
}
}
}
< /code>
Wenn ich das obige Programm ausführe, erwarte ich, dass "hts.size () = " Ausdruck ist. Stattdessen sehe ich hts.size () = 0. Dies bedeutet, dass mein Java -Code kein Htmltable mit einer Rolle = "Treegrid" findet. falsch machen wird geschätzt.
Java htmlunit findet kein HTMLTable mit spezifischer Rolle ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post