2017-07-26 5 views
2

YouTubeビデオでコメントセクションが有効になっているかどうかを確認しようとしています。もしそうでなければ、プログラムは再びトップに戻るべきです。これは私がこのTry/ExceptはTimeoutExceptionで動作しません

from selenium.common.exceptions import TimeoutException 

を得ないエラー

Traceback (most recent call last): 
    File "C:/Users/Admin/Desktop/My Programs/YouTubeTest/YouTubeTest.py", line 98, in <module> 
    bot1() 
    File "C:/Users/Admin/Desktop/My Programs/YouTubeTest/YouTubeTest.py", line 73, in bot1 
    EC.presence_of_element_located((By.CLASS_NAME, "comment-simplebox-renderer-collapsed-content")) 
    File "C:\Users\Admin\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until 
    raise TimeoutException(message, screen, stacktrace) 
selenium.common.exceptions.TimeoutException: Message: 

私はなぜこれが起こっている見当がつかないを与える

def bot1(): 
    while True: 

     # First search 
     driver.get("https://www.youtube.com/results?sp=CAISAggBUBQ%253D&q=" + k1) 
     driver.find_element_by_class_name("yt-uix-tile-link").click() 
     try: 
      WebDriverWait(driver, 15).until(
       EC.presence_of_element_located((By.CLASS_NAME, "comment-simplebox-renderer-collapsed-content")) 
      ) 
     except TimeoutException: 
      bot1() 

+1

違うのですか? – TerryA

+0

WebDriverWaitの後。 10秒以内にコメントセクションが見つからない場合は、それが壊れます。 –

答えて

0

まず、ループを切断する条件はありませんが、これは無限ループです。あなたは今までのコードが壊れることを期待しないとき

selenium.common.exceptions.TimeoutExceptionと通常TimeoutExceptionは

+0

コメントセクションが見つからない場合、どのようにトップに行くのですか? –

+0

私はbot1()への再帰呼び出しが正しいとは思わない。他の方法でロジックを実現しようとしてください。 – Jomin

+0

申し訳ありません。しかし、なぜ私にこのエラーを与えているのですか?それは正しく動作するはずですか? –

関連する問題