2012-04-03 4 views
0

Я использую API selenium для java-программы (http://selenium.googlecode.com/svn/trunk/docs/api/java/index.html).Остановить загрузку страницы в selenium API

Когда я использую driver.get (completeUrl); метод, selenium открывает новое окно firefox с сайтом, который я ссылаюсь на «completeUrl».

Теперь есть много веб-сайтов, на которых есть видео, музыка и другое тяжелое содержимое, которые я не хочу скачивать при использовании селена с firefox. Это потому, что информация, которая мне нужна, включена в первый КБ сайта.

Как я могу не потерять время, загрузив весь этот контент? Есть метод Selenium API, который позволяет мне остановить загрузку веб-страницы в Firefox через некоторое время или КБ? Или это можно сделать с помощью некоторого java-метода?

Пожалуйста, помогите.

+0

Почему вы используете селен для этого? Я думаю, что это неправильная техника для того, что вы хотите сделать. С помощью Selenium вы можете имитировать взаимодействие пользователя с вашим сайтом, чтобы проверить его функциональность. Чего именно вы хотите достичь? исходный код? Для этого существуют более быстрые и простые методы. – Tarken

+0

Да, я хочу получить исходный код первых байтов страницы. Я не хочу загружать всю страницу, если необходимые мне данные хранятся в первых байтах. – RazorMx

ответ

0

В Selenium нет способа прекратить загрузку. Selenium слишком силен для такого рода работ, он предназначен для взаимодействия с браузерами и ведет себя как человек, сидящий перед компьютером.

Если вы просто хотите код HTML, используйте процедуры, указанные в How to fetch HTML in Java или How do you Programmatically Download a Webpage in Java.

+0

Кстати, я просто понял, что если это видео является видео Youtube, то вы можете остановить загрузку в контекстном меню самого видео ... –

+0

Некоторые неприятные веб-сайты запрещают их сканировать таким образом, и единственный вариант - использовать Селен. Если вы считаете, что вопрос неправильный, используйте комментарии. Вы не ответили на вопрос. –

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

U также можете взглянуть на эту тему: Get source of website in java Там должно быть достаточно информации, чтобы достичь того, чего вы хотите.

Смежные вопросы