bolte
@bolte (BOLTE)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

TimeoutException: Message:が出るがどこがおかしいのかわかりません

やりたいこと

Qiitaの[完全自動接続]Colaboratoryファイルのみで90分・12時間問題を解決した[Selenium使用]という記事を参照して、Google Colabを12時間以上使えるかテストをしようとしています。

その記事のこの章(#ソースコードまとめにあるFile A, File Bという物を使ってテストしようとしています。しかし以下のようなエラーが返ってきてしまい、解決できていません。

エラー内容

<ipython-input-3-8fcc19c55d88> in main(self)
    202             else:
    203                 self.set_mode("GPU")
--> 204                 self.auto_access(self.access_path_2)
    205                 # 60分ごとにチェック
    206                 time.sleep(3600)

<ipython-input-3-8fcc19c55d88> in auto_access(self, path)
    128             cur_url = self.driver.current_url
    129             print(cur_url)
--> 130             self.click_change_runtime()
    131             time.sleep(30)
    132 

<ipython-input-3-8fcc19c55d88> in click_change_runtime(self)
     55         """
     56         # ランタイムクリック
---> 57         select_dropdown = WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.ID,"runtime-menu-button")))
     58         select_dropdown.click()
     59         # ランタイムのタイプ変更クリック

/usr/local/lib/python3.6/dist-packages/selenium/webdriver/support/wait.py in until(self, method, message)
     78             if time.time() > end_time:
     79                 break
---> 80         raise TimeoutException(message, screen, stacktrace)
     81 
     82     def until_not(self, method, message=''):

TimeoutException: Message: 

試したこと

  • メイン関数の前にGitからリポジトリをクローンしていますが、これはUbuntu 18.04上でChromeを使ったときのUser Profileというものを保存している物です。しかしそのセルは問題なくクリアしていて、そこの問題はないように思います。(念の為Ubuntuもタグに入れておきます)
  • かなり検索をしてみて、色々と試しました。
- select_dropdown = WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.ID,"runtime-menu-button")))
+ select_dropdown = WebDriverWait(self.driver, 200).until(EC.element_to_be_clickable((By.ID,"runtime-menu-button")))

のように時間を10倍にしても変わりませんでした。またIDが、記事の書かれた当時と変わっているんじゃないかとも思い確認していましたが、runtime-menu-buttonで変更はありませんでした。その他、stackoverflowにあったwait = WebDriverWait(self.driver, 20)としてみたりしましたが、うまくいきませんでした。
- Goofle Colabのランタイム(GPUかTPUかNoneか)などは、ipynbファイルを実行する前に決めておけばこの関数click_change_runtime()はいらないんじゃないかなとも思いましたが、「すべてのセルを実行する」というボタンをクリックするのには「ランタイム」というプルダウンをクリックしなければならないので、この関数が使われているところをコメントアウトするだけでは使い物にならないようでした。

何がいけないのでしょうか? よろしくお願いします。

0

No Answers yet.

Your answer might help someone💌