2016-07-08 16 views
1

私のプログラムが探している要素を見つけられず、イベントをCSV内に記録したいときにエラーが発生したというメッセージを表示し、続行するときに例外が発生します。私は正常にイベントをCSVに記録し、メッセージを表示して、私のプログラムがループから飛び出して停止します。どのように私はPythonを続行するよう指示することができます。私のコードをチェックしてください。ループ内でのPython例外処理

sites = ['TCF00670','TCF00671','TCF00672','TCF00674','TCF00675','TCF00676','TCF00677']` 

with open('list4.csv','wb') as f: 
    writer = csv.writer(f) 
    try: 
     for s in sites: 
      adrs = "http://turnpikeshoes.com/shop/" + str(s) 
      driver = webdriver.PhantomJS() 
      driver.get(adrs) 
      time.sleep(5) 
      LongDsc = driver.find_element_by_class_name("productLongDescription").text 
      print "Working.." + str(s) 
      writer.writerows([[LongDsc]]) 
    except: 
     writer.writerows(['Error']) 
     print ("Error Logged..") 
     pass 

    driver.quit() 
print "Complete." 
+2

whileループの内側に 'try/except'を置きます。 –

+2

ちょうどtry..exceptをforループの中に入れてください –

答えて

4

ループ内にブロックtry/exceptを置くだけです。 exceptの末尾にあるpassの声明には必要はありません。

with open('list4.csv','wb') as f: 
    writer = csv.writer(f) 
    for s in sites: 
     try: 
      adrs = "http://turnpikeshoes.com/shop/" + str(s) 
      driver = webdriver.PhantomJS() 
      driver.get(adrs) 
      time.sleep(5) 
      LongDsc = driver.find_element_by_class_name("productLongDescription").text 
      print "Working.." + str(s) 
      writer.writerows([[LongDsc]]) 
     except: 
      writer.writerows(['Error']) 
      print ("Error Logged..") 

NOTEそれは、例えば、一般的に特定の例外クラスなしexceptを使用するには、悪い習慣ですする必要がありますexcept Exception:...

+0

恐ろしい!,それは敏感なpythonがインデント付きでどれほど驚くべきか私はループ内に配置しようとしましたが、構文エラーが続いていました。例外処理と例外クラスの使用についてもう少し詳しく説明します。 –