Comment arrêter le chargement de la page dans firefox par programmation?

Je suis en cours d'exécution plusieurs tests avec WebDriver et Firefox.

Je suis confronté à un problème avec la commande suivante:

WebDriver.get(www.google.com);

Avec cette commande, WebDriver blocs jusqu'à l'événement onload est déclenché. Tandis que ceci peut normalement prend que quelques secondes, ça peut prendre des heures sur des sites web qui ne s'est jamais la fin du chargement.

Ce que je voudrais faire est d'arrêter le chargement de la page après un certain délai d'attente, en quelque sorte, la simulation de Firefox bouton d'arrêt.

J'ai d'abord essayé d'exécuter la suite du code JS à chaque fois que j'ai essayé de chargement d'une page:

var loadTimeout=setTimeout(\"window.stop();\", 10000);

Malheureusement cela ne fonctionne pas, probablement parce que :

En raison de l'ordre dans lequel les scripts sont chargés, la méthode stop() ne peut pas arrêter le document dans lequel il est contenu à partir de chargement Un

Mise à JOUR 1: j'ai essayé d'utiliser SquidProxy afin d'ajouter de la connecter et demander des délais d'attente, mais le problème a persisté.

Une chose bizarre que j'ai trouvé aujourd'hui, c'est que d'un seul site web qui n'a jamais cessé de chargement sur ma machine (FF3.6 - 4.0 et Mac Os 10.6.7) chargé normalement sur d'autres navigateurs et/ou les ordinateurs.

Mise à JOUR 2: Le problème, apparemment, peut être résolu par dire à Firefox de ne pas charger les images. espérons que tout va fonctionner après que...

Je souhaite WebDriver avait une meilleure Chrome pilote pour l'utiliser. Firefox est décevant moi tous les jours!

Mise à JOUR 3: le Sélénium 2.9 ajouté une nouvelle fonctionnalité pour gérer les cas où le pilote s'affiche à accrocher. Ceci peut être utilisé avec FirefoxProfile comme suit:

FirefoxProfile firefoxProfile = new ProfilesIni().getProfile("web");
firefoxProfile.setPreference("webdriver.load.strategy", "fast");

Je vais poster si cela fonctionne après je l'ai essayer.

Mise à JOUR 4: à la fin aucune des méthodes ci-dessus ont travaillé. J'arrive à la fin de "tuer" les discussions qui sont en prenant de temps à se terminer. Je suis de rabotage pour essayer Ghostdriver qui est une Distance WebDriver qui utilise PhantomJS en tant que back-end. PhantomJS est une tête WebKit scriptable, donc je m'attends pas à avoir des problèmes d'un vrai navigateur comme firefox. Pour les personnes qui ne sont pas obliger d'utiliser firefox(ramper fins) je vais mettre à jour avec les résultats

Mise à JOUR 5: Temps pour une mise à jour. À l'aide de 5 mois de la ghostdriver 1.1 au lieu de cela FirefoxDriver je peux dire que je suis vraiment satisfaite de ses performances et de la stabilité. J'ai eu quelques cas où nous n'avons pas le comportement approprié, mais ressemble en général ghostdriver est assez stable. Donc, si vous devez, comme moi, un navigateur pour l'analyse/web scraping, je vous recommandons d'utiliser ghostdriver au lieu de firefox et xvfb qui vous donnera plusieurs maux de tête...

source d'informationauteur ArisRe82