2016-04-10 11 views
1

Ich habe eine Schleife, die eine Liste von Elementen nimmt und führt verschiedene Funktionen auf sie ...Python Selen Timeout Zug zum nächsten Punkt in der Schleife

def init_driver(): 
    ffprofile = webdriver.FirefoxProfile("my_profile"); 
    ffprofile.add_extension(extension="myaddon.xpi") 
    return driver 

def check_item 
    print ("Checking Item : ") 
    inputElement.submit() 
    print ("Submit has been pressed") 
    input(" Do Something Else ") 
    timeelapsed = a + 1 

driver = init_driver() 

for i, item, in enumerate(item_list): 
    check_item(item) 

Ich versuche, einen Versuch Ausnahme inputElement.submit hinzufügen() Wenn also aus irgendeinem Grund das Zeitlimit überschritten wird, während es ausgeführt wird (was bekannt ist), würde es aus der Schleife ausbrechen und zur nächsten Iteration übergehen.

Ich habe versucht mit Pause, aber das funktioniert nicht, weil ich nicht in der Schleife bin, kann jemand helfen?

UPDATE

Dies ist die Nachricht Timeout ist erhalte ich

File "C:\Python34\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.TimeoutException: Message: Timed out waiting for page load. 
+0

Könnten Sie auch schreiben, wie Timeout - welchen Fehler bekommst du? – alecxe

Antwort

1

Von dem, was ich verstehe, ist es das, was Sie zu erreichen versuchen:

from selenium.common.exceptions import TimeoutException 

for i, item, in enumerate(item_list): 
    try: 
     check_item(item) 
    except TimeoutException: 
     pass # do nothing, TODO: log? 
+0

Das sieht gut aus, aber ich bekomme einen Fehler: TimeoutException ist nicht definiert. Ich habe die Original-Timeout-Nachricht auf die op – fightstarr20

+1

@ fightstarr20 sicher hinzugefügt, fügte die Import-Anweisung hinzu – alecxe

Verwandte Themen