2016-09-30 3 views
0

Ich versuche, eine Seite mit einem einfachen Python/Selen SkriptSelen mit Python hält eine Seite zu laden

# encoding=utf8 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import datetime as dt 
import codecs 
import os 

myDriver=webdriver.Chrome() 
myDriver.get("http://spb.beeline.ru/customers/products/mobile/tariffs/") 
print "Test" 
myDriver.quit() 

nun zu lesen, wenn ich diese URL öffnen Google Chrome verwenden, die Seite zu laden, und das ist es. Während dieses Skript ausgeführt wird, bleibt die Seite in einem Ladezustand und das Skript kann nicht weiter gehen.

Ich bin auf Windows 7, 2.7.12 Python, Selen 2.53.6 und chromedriver 2.24.41.74.31

+0

Ich habe überprüft, es funktioniert perfekt – Piyush

Antwort

0

Ich bin nicht sicher, was die Seite tut, aber es ist sicherlich untypisch. Mein bester Vorschlag ist, die Seite zu laden Timeout zu setzen und dann behandelt die zugehörige Timeout:

# encoding=utf8 
from __future__ import print_function 

from selenium import webdriver 
from selenium.common.exceptions import TimeoutException 

myDriver=webdriver.Chrome() 

try: 
    # Set the page load timeout 
    myDriver.set_page_load_timeout(10) 
    try: 
     myDriver.get("http://spb.beeline.ru/customers/products/mobile/tariffs/") 
    except TimeoutException: 
     print("Page expired") 

    # Do stuff here 

finally: 
    myDriver.quit() 

Der Nachteil ist, dass (ich glaube), wird dies töten, was auch immer in dem Boden zurück geschieht, die den driver.get Anruf von der Rückkehr verhindert, daher kann die Funktionalität einiger Seiten grundlegend gebrochen sein.

+0

So haben Sie das gleiche Problem..schön zu sehen! Der Punkt, den ich nicht verstehen kann ist, warum in einer normalen Chrom-Instanz es richtig lädt, und in Chrom-Treiber, ist dies nicht passiert. – user3385666

+0

Ja, etwas, das für diese Seite spezifisch ist, wird ständig geladen. –

+0

@ user3385666 Versuchen Sie es mit einem anderen Browser/einem anderen URl und sehen Sie, ob das Problem besteht. Dein Code funktioniert wie ein Zauber, wenn ich es ausprobiere. Ich habe Firefox Browser verwendet. webdriver.Firefox() und meine Internetgeschwindigkeit ist auch sehr gut. –