————————————————————————— AttributeError Traceback (most recent call last) File ~anaconda3libsite-packagesseleniumwebdrivercommondriver_finder.py:38, in DriverFinder.get_path(service, options) 37 try: —> 38 path = SeleniumManager().driver_location(options) if path is None else path 39 except Exception as err: File ~anaconda3libsite-packagesseleniumwebdrivercommonselenium_manager.py:87, in SeleniumManager.driver_location(self, options) 80 “””Determines the path of the correct driver. 81 82 :Args: 83 – browser: which browser to get the driver path for. 84 :Returns: The driver path to use 85 “”” —> 87 browser = options.capabilities[“browserName”] 89 args = [str(self.get_binary()), “–browser”, browser] AttributeError: ‘str’ object has no attribute ‘capabilities’ During handling of the above exception, another exception occurred: AttributeError Traceback (most recent call last) Cell In[1], line 5 2 from webdriver_manager.chrome import ChromeDriverManager 4 # ChromeDriverをインストールしてWebDriverを設定 —-> 5 driver = webdriver.Chrome(ChromeDriverManager().install()) File ~anaconda3libsite-packagesseleniumwebdriverchromewebdriver.py:45, in WebDriver.__init__(self, options, service, keep_alive) 42 service = service if service else Service() 43 options = options if options else Options() —> 45 super().__init__( 46 browser_name=DesiredCapabilities.CHROME[“browserName”], 47 vendor_prefix=”goog”, 48 options=options, 49 service=service, 50 keep_alive=keep_alive, 51 ) File ~anaconda3libsite-packagesseleniumwebdriverchromiumwebdriver.py:49, in ChromiumDriver.__init__(self, browser_name, vendor_prefix, options, service, keep_alive) 37 “””Creates a new WebDriver instance of the ChromiumDriver. Starts the 38 service and then creates new WebDriver instance of ChromiumDriver. 39 (…) 45 – keep_alive – Whether to configure ChromiumRemoteConnection to use HTTP keep-alive. 46 “”” 47 self.service = service —> 49 self.service.path = DriverFinder.get_path(self.service, options) 50 self.service.start() 52 executor = ChromiumRemoteConnection( 53 remote_server_addr=self.service.service_url, 54 browser_name=browser_name, (…) 57 ignore_proxy=options._ignore_local_proxy, 58 ) File ~anaconda3libsite-packagesseleniumwebdrivercommondriver_finder.py:40, in DriverFinder.get_path(service, options) 38 path = SeleniumManager().driver_location(options) if path is None else path 39 except Exception as err: —> 40 msg = f”Unable to obtain driver for {options.capabilities[‘browserName’]} using Selenium Manager.” 41 raise NoSuchDriverException(msg) from err 43 if path is None or not Path(path).is_file(): AttributeError: ‘str’ object has no attribute ‘capabilities’
このエラーは、ChromeDriverManager().install()を使用してChromeDriverをインストールしようとしたときに発生しています。エラーメッセージから、Selenium Managerがオプションオブジェクトからブラウザ名を取得しようとして失敗していることがわかります。
これを解決するために、次のようなアプローチが考えられます:
-
もう一度試してみる:一時的な問題かもしれません。もう一度コードを実行してみて、問題が解決されるかどうか確認してください。
-
ChromeDriverManagerのバージョンを確認して更新する:古いバージョンのChromeDriverManagerを使用している場合、この問題が発生する可能性があります。最新のバージョンに更新してみてください。
-
直接ChromeDriverのパスを指定する:代わりに直接ChromeDriverのパスを指定してChromeDriverを起動することもできます。次のように、ChromeDriverのパスを直接指定してみてください。
python
from selenium import webdriver chrome_driver_path = "/path/to/chromedriver" # ChromeDriverのパスを指定 driver = webdriver.Chrome(executable_path=chrome_driver_path)
- エラーの原因を調査する:エラーの原因を特定するために、SeleniumやChromeDriverManagerのドキュメントを調査し、問題が発生した原因を特定することができます。また、コードを実行する環境や設定に関する情報を提供していただければ、より具体的なアドバイスを提供することができます。
これらのアプローチを試してみてください。それでも問題が解決しない場合は、追加の情報が必要になるかもしれません。

ディスカッション
コメント一覧
まだ、コメントがありません