はじめに
PythonでWebスクレイピングしている時にエラーに遭遇しました。
今回はその時のエラーについての原因と対処方法についてです。
エラーの原因と対処法
エラー
まず発生したエラーですが、
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
というものです。
日本語で訳すと
「selenium.common.exceptions.InvalidArgumentException: メッセージ: 無効な引数」
となります。
原因とサンプルソース
原因
このエラーは、Seleniumのメソッドに無効な引数が渡された場合に発生します。多くの場合、このエラーはURLを開く際や要素を検索する際に不適切な値が引数として渡されたときに見られます。
エラーが発生するソースコード
例だけでは分かったような、わからないような感じだと思います。
サンプルコードを見ればイメージが使いみやすいかもしれません。
次はエラーが発生する例です。
from selenium import webdriver
driver = webdriver.Chrome()
# 適切ではないURLを開こうとした場合
driver.get("invalid_url")
これを実行すると
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
とエラー(6行目)になります。
修正したソースコード
次はエラーを修正した例です。
修正内容としては、driver.getに正しい(有効な)URLを指定しています。
from selenium import webdriver
driver = webdriver.Chrome()
# 正しいURL
driver.get("http://www.google.com")
これを実行するとChromeでGoogleのページが表示されます。
さいごに
今回はSeleniumのメソッドに無効な引数を渡した場合に発生するエラーについてでした。
クローリングを繰り返したりする場合、引数に無効なものが渡されたりすることがあります。
意外と起こりやすいエラーと思いますので対象方法を知っておくのがいいですね。
この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。