2012-04-03 4 views
0

私は、Javaプログラム(http://selenium.googlecode.com/svn/trunk/docs/api/java/index.html)用にセレンAPIを使用しています。セレンAPIのページのダウンロードを停止する

私はdriver.get(completeUrl)を使用します。メソッドでは、セレニウムは、 "completeUrl"で参照するサイトで新しいfirefoxウィンドウを開きます。

今や、firefoxでセレンを使用している間にダウンロードしたくないビデオ、音楽、その他の重いコンテンツを含む多くのWebサイトがあります。これは、必要な情報がサイトの最初のKBに含まれているためです。

どうすればこのコンテンツをすべてダウンロードできますか?いくつかの時間やKBの後にFirefoxでWebページのダウンロードを止めることができるSelenium APIのメソッドがありますか?または、それはいくつかのJavaメソッドで行うことができますか?

お願いします。

+0

なぜセレンを使用していますか?私はあなたがしたいことの間違った技術だと思う。 Seleniumを使用すると、Webサイトとのユーザーのやりとりをシミュレートして、その機能をテストできます。正確に何を達成したいですか?ソースコード?そのためのより速くて簡単な方法があります。 – Tarken

+0

はい、私はページの最初のバイトのソースコードを達成したいと思います。必要な情報が最初のバイトに格納されている場合、私はすべてのページをダウンロードしたくありません。 – RazorMx

答えて

0

Seleniumにダウンロードを停止する方法はありません。セレンは、この種の作業にはあまりにも強すぎ、ブラウザーとやりとりするように設計されていて、コンピューターの前に人が座っているように振る舞います。

HTMLコードを使用したい場合は、How to fetch HTML in JavaまたはHow do you Programmatically Download a Webpage in Javaにある手順を使用してください。

+0

btw、そのビデオがYoutubeビデオの場合、ビデオ自体のコンテキストメニューでダウンロードを停止することができることに気付きました... –

+0

一部の厄介なウェブサイトは、そのような方法でそれらをクロールできないようにしています。セレン。質問が間違っていると思われる場合は、コメントを使用してください。あなたはその質問に答えなかった。 –

0

はこのようにそれをやって試してみてください:あなたが望むものを達成するのに十分な情報があるはずです Get source of website in java

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(); }} 
} 

Uはまた、このトピックを見てみることができます。

関連する問題