-2

エディターからコピーして Python に貼り付けることで、Python で大量のコードを一度に実行しています。このコードには、ネストされた for ループが含まれています。Webスクレイピングを行っていますが、プログラムはさまざまなタイミングで終了します。これは、ロードする時間がないためだと思います。次のエラーが発生します (繰り返しますが、プログラムは毎回異なる量のテキストをスクレイピングします)。

Traceback (most recent call last):
  File "<stdin>", line 35, in <module>
IndexError: list index out of range

まず、何line 35を指しますか?これは、関連する内側の for ループの場所ですか?

第二に、次のようなセレンを使用したコード行がエラーの原因である可能性があると思います。

driver.find_elements_by_class_name("button")[j-1].click()

この場合、このエラーをどのように処理できますか? 問題に対処する明示的な待機または例外処理のコード例は何ですか?

4

3 に答える 3

1

コードを試して、次のような IndexError 例外をキャッチできます。

try:
    # your code here
except IndexError:
    # handle the error here

存在しないリストのインデックスにアクセスしようとすると、IndexError が発生します。例えば:

>>> a = [1, 2, 3]
>>> print(a[10])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

詳細がわからないと、エラーをどのように処理すべきかを言うのは困難です。

于 2014-11-20T03:18:57.717 に答える