2012-04-03 83 views
0

我使用的是一個Java程序的硒API(http://selenium.googlecode.com/svn/trunk/docs/api/java/index.html)。停止在硒下載頁面API

當我使用driver.get(completeUrl);方法,硒打開一個新的Firefox窗口與我在「completeUrl」中提到的網站。

現在,有很多網站有視頻,音樂和其他重量的內容,我不想在使用硒火狐時下載。這是因爲我需要的信息包含在網站的第一個KB中。

我該如何不失時間下載所有這些內容?有一種Selenium API的方法,允許我在一段時間或KB後停止在Firefox中下載網頁。或者可以用一些java方法來完成?

請幫忙。

+0

你爲什麼使用硒?我認爲那是你想要做的錯誤的技術。藉助Selenium,您可以模擬用戶與您網站的互動以測試其功能。你想要達到什麼目的?源代碼?對此,有更快更簡單的方法。 – Tarken 2012-04-03 08:23:57

+0

是的,我想實現頁面的第一個字節的源代碼。如果我需要的信息存儲在第一個字節中,我不想下載所有頁面。 – RazorMx 2012-04-03 08:36:47

回答

0

Selenium沒有辦法停止下載。 Selenium對於這類工作來說太強大了,它被設計爲與瀏覽器交互,並且像在電腦前坐着的人一樣行事。

如果您只是想要HTML代碼,請使用How to fetch HTML in JavaHow do you Programmatically Download a Webpage in Java中的程序。

+0

順便說一句,我剛剛意識到,如果該視頻是一個Youtube視頻,那麼你可以停止在視頻本身上下文菜單中的下載... – 2012-04-03 21:45:18

+0

一些討厭的網站不允許以這種方式抓取它們,唯一的選擇是使用硒。如果您認爲問題不對,請使用評論。你沒有回答這個問題。 – 2017-04-09 01:50:04

0

嘗試做這樣的:

import java.io.*; 
import java.net.URL; 

public class WebsiteReader{ 
    public static BufferedReader read(String url) throws Exception{ 
     return new BufferedReader(new InputStreamReader(new URL(url).openStream()));} 

public static void main (String[] args) throws Exception{ 
    BufferedReader reader = read(args[0]); 
    String line = reader.readLine(); 

    while (line != null) { 
     System.out.println(line); 
     line = reader.readLine(); }} 
} 

ü還可以在這個話題我們來看一看: Get source of website in java 應該有足夠的信息來實現你想要的。