質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.34%

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

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 112

BOLTE

score 7

やりたいこと

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

その記事のこの章(#ソースコードまとめにあるFile AFile 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()はいらないんじゃないかなとも思いましたが、「すべてのセルを実行する」というボタンをクリックするのには「ランタイム」というプルダウンをクリックしなければならないので、この関数が使われているところをコメントアウトするだけでは使い物にならないようでした。

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

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

コードが提示されてないのでなんとも、ですが

--> 204                 self.auto_access(self.access_path_2)

ってことから推測すると、アクセスに失敗しているか、アクセス先がないか、でしょうね

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.34%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る