2016-04-10 2 views
1

У меня есть цикл, который принимает список элементов и выполняет различные функции на них ...Python Селен таймаут Переход к следующему пункту в цикле

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) 

Я пытаюсь добавить исключение попытаться inputElement.submit(), поэтому, если по какой-либо причине он истекает при выполнении этого (что, как было известно, он делает), он выйдет из цикла и перейдет к следующей итерации.

Я пробовал использовать перерыв, но это не работает, потому что я не в цикле, может ли кто-нибудь помочь?

UPDATE

Это сообщение таймаут я получаю

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

Не могли бы вы также разместить как это тайм-аут - какая ошибка вы получаете? – alecxe

ответ

1

Из того, что я понимаю, это то, что вы пытаетесь достичь:

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

Это выглядит хорошо, но я получаю сообщение об ошибке: TimeoutException не определено. Я добавил исходный тайм-аут msg в op – fightstarr20

+1

@ fightstarr20 уверен, добавил оператор import – alecxe

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