[英]How do I open a website in browser through JAVA without having the browser open a new tab
[英]how do i click a hyperlink on a webpage using java without having the page open in browser
所以我試圖制作一個文件下載程序,將根據超鏈接說什么或被稱為下載文件如何點擊java中的超鏈接?
我試圖找到最簡單的方法來打開一個網頁。
我也試圖這樣做沒有java腳本,因為我不控制網站我只想從它下載。
這是我一直在嘗試的東西,但我一直得到ERROR 403.我該如何解決這個問題?
注意: 這確實使用JSoup庫。
Document doc = Jsoup.parse(new URL(yourURLhere), 2000);
Elements resultLinks = doc.select("a");
System.out.println("number of links: " + resultLinks.size());
for (Element link1 : resultLinks) {
System.out.println();
String href = link1.attr("href");
System.out.println("Title: " + link1.text());
System.out.println("Url: " + href);
}
jSoup庫是一個HTML解析器/ scraper,但它不與網頁交互。 如果要單擊鏈接或以其他方式與網頁交互,則需要使用模擬Web瀏覽器的庫,例如HTMLUnit 。
例如,以下代碼將單擊HTMLUnit主頁上的“主頁”鏈接。 此代碼根據name
屬性搜索特定錨點(HTML鏈接),但還有其他方法可以按各種條件搜索其他類型的元素。 有關詳細信息,請參閱文檔。
public void testHomePage() throws Exception {
final WebClient webClient = new WebClient();
final URL url = new URL("http://htmlunit.sourceforge.net");
final HtmlPage page = (HtmlPage)webClient.getPage(url);
HtmlAnchor anchor = page.getAnchorByName("Home");
anchor.click();
}
如果要使用jSoup的分析功能,仍然可以將HTMLUnit與jSoup結合使用。 在HTMLUnit中加載頁面后,您可以將HTML作為字符串傳遞給jSoup的parse()
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.