🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

1回答

1063閲覧

Python SeleniumにてWebDriverWaitを複数使用する場合のエラー処理は毎回try/exceptしなければいけないのか

Anon_

総合スコア334

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2021/01/27 05:11

編集2021/01/27 06:05

Python初心者です。
表題の通りですが、Python/Seleniumにて下記のコードを使用した際に、タイムアウトした場合の例外処理を書きたいのですが、WebDriverWaitを使用する箇所が他にも複数ありコードが長文化するため毎回try/exceptする必要があるのかと悩んでおります。
他に良い方法があれば教えていただきたいのと、下記のコードがtry/exceptされていない場合タイムアウトした際には処理が停止するのでしょうか。それとも何もなかったように次のコードに進むのでしょうか。

WebDriverWait(driver, 30).until( EC.presence_of_element_located((By.CSS_SELECTOR, '[name="emailAddress"]')) )

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

下記のコードがtry/exceptされていない場合タイムアウトした際には処理が停止するのでしょうか。

TimeoutExceptionが投げられるようですので、呼び元で対処していないのであれば処理が停止します。

他の質問に関してはodmdomさんが何をどうしたいかによります。

エラー処理は毎回try/exceptしなければいけないのか

例えばこの質問に対しては、リトライさせたい、ログ出力したいなど独自の処理を行いたいのであればexceptしないといけないですが、timeoutの際にはそのまま処理を終了させたいならばexceptしなくても良いですという事になります。

いくつか処理があり、それぞれで同じ処理(リトライやログ出力)をさせたいなどという事であれば、共通化関数を作るなどで対応できるかもしれません。

投稿2021/01/27 06:10

yamap55

総合スコア1376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Anon_

2021/01/27 06:13

理解しました。とても助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問