回答編集履歴

7

修正

2022/12/11 00:16

投稿

退会済みユーザー
test CHANGED
@@ -26,7 +26,7 @@
26
26
  ```python
27
27
  try:
28
28
  driver.get("https://www.google.com/")
29
- element = wait.until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "xxx", message='タイムアウト')))
29
+ element = wait.until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "xxx")), message='タイムアウト')
30
30
  except Exception as e:
31
31
  print(location(), e)
32
32
 

6

 

2022/12/10 23:27

投稿

退会済みユーザー
test CHANGED
@@ -1,7 +1,7 @@
1
1
  selenium の until 関数において TimeoutException 発生時に表示される 「Message:」 は、自動的に収集されるエラーメッセージではなく、until 関数の message 引数に指定した文字列が表示されるようになっています。
2
2
  質問のコードでは、 message 引数が指定されていないため、Message:の隣に何も表示されません(仕様)
3
3
 
4
- 「(until 関数においても)一般的なpythonプログラムのように、TimeoutException エラー発生時にスタックトレースを表示させたい」というのであれば、
4
+ 「(until 関数においても)一般的なpythonプログラムのように、TimeoutException を含めた例外発生時にスタックトレースを表示させたい」というのであれば、
5
5
  下記のようにして traceback モジュールをインポートして直接Stacktraceを表示させてみてはいかがでしょうか。
6
6
 
7
7
  ```python

5

 

2022/12/10 23:26

投稿

退会済みユーザー
test CHANGED
@@ -1,7 +1,7 @@
1
1
  selenium の until 関数において TimeoutException 発生時に表示される 「Message:」 は、自動的に収集されるエラーメッセージではなく、until 関数の message 引数に指定した文字列が表示されるようになっています。
2
2
  質問のコードでは、 message 引数が指定されていないため、Message:の隣に何も表示されません(仕様)
3
3
 
4
- 「一般的なpythonプログラムのように、(until 関数において)TimeoutException エラー発生時にスタックトレースを表示させたい」というのであれば、
4
+ (until 関数においても)一般的なpythonプログラムのように、TimeoutException エラー発生時にスタックトレースを表示させたい」というのであれば、
5
5
  下記のようにして traceback モジュールをインポートして直接Stacktraceを表示させてみてはいかがでしょうか。
6
6
 
7
7
  ```python

4

 

2022/12/10 23:26

投稿

退会済みユーザー
test CHANGED
@@ -1,7 +1,7 @@
1
1
  selenium の until 関数において TimeoutException 発生時に表示される 「Message:」 は、自動的に収集されるエラーメッセージではなく、until 関数の message 引数に指定した文字列が表示されるようになっています。
2
2
  質問のコードでは、 message 引数が指定されていないため、Message:の隣に何も表示されません(仕様)
3
3
 
4
- 一般的なpythonプログラムのように、(until 関数において)TimeoutException エラー発生時にもスタックトレースを表示させたい場合は
4
+ 一般的なpythonプログラムのように、(until 関数において)TimeoutException エラー発生時にもスタックトレースを表示させたい」というのであれば
5
5
  下記のようにして traceback モジュールをインポートして直接Stacktraceを表示させてみてはいかがでしょうか。
6
6
 
7
7
  ```python

3

 

2022/12/10 23:21

投稿

退会済みユーザー
test CHANGED
@@ -1,7 +1,7 @@
1
1
  selenium の until 関数において TimeoutException 発生時に表示される 「Message:」 は、自動的に収集されるエラーメッセージではなく、until 関数の message 引数に指定した文字列が表示されるようになっています。
2
2
  質問のコードでは、 message 引数が指定されていないため、Message:の隣に何も表示されません(仕様)
3
3
 
4
- 一般的なpythonプログラムのように、TimeoutException エラー発生時にスタックトレースを表示させたい場合は、
4
+ 一般的なpythonプログラムのように、(until 関数において)TimeoutException エラー発生時にスタックトレースを表示させたい場合は、
5
5
  下記のようにして traceback モジュールをインポートして直接Stacktraceを表示させてみてはいかがでしょうか。
6
6
 
7
7
  ```python

2

 

2022/12/10 23:20

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,7 @@
1
+ selenium の until 関数において TimeoutException 発生時に表示される 「Message:」 は、自動的に収集されるエラーメッセージではなく、until 関数の message 引数に指定した文字列が表示されるようになっています。
2
+ 質問のコードでは、 message 引数が指定されていないため、Message:の隣に何も表示されません(仕様)
3
+
4
+ 一般的なpythonプログラムのように、TimeoutException エラー発生時にスタックトレースを表示させたい場合は、
1
5
  下記のようにして traceback モジュールをインポートして直接Stacktraceを表示させてみてはいかがでしょうか。
2
6
 
3
7
  ```python
@@ -16,8 +20,8 @@
16
20
  ```
17
21
 
18
22
  ---
19
-
20
- または、until() 関数で TimeoutException 発生時に任意のエラーメッセージを表示させたい場合は、message 引数に文字列を指定しておきます。([参照](https://www.selenium.dev/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.wait.html?highlight=until#selenium.webdriver.support.wait.WebDriverWait.until))
23
+ 【参考】
24
+ until() 関数で TimeoutException 発生時に任意のエラーメッセージを表示させたい場合は、message 引数に文字列を指定しておきます。([参照](https://www.selenium.dev/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.wait.html?highlight=until#selenium.webdriver.support.wait.WebDriverWait.until))
21
25
 
22
26
  ```python
23
27
  try:

1

  

2022/12/10 23:12

投稿

退会済みユーザー
test CHANGED
@@ -23,7 +23,7 @@
23
23
  try:
24
24
  driver.get("https://www.google.com/")
25
25
  element = wait.until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "xxx", message='タイムアウト')))
26
- except:
26
+ except Exception as e:
27
- print(location())
27
+ print(location(), e)
28
28
 
29
29
  ```