Q&A
前提
pythonからseleniumでブラウザー操作をしたいと思っています。
Chromeは起動する
発生している問題・エラーメッセージ
価格コムのページの検索まで進めません。
エラーメッセージ DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver = webdriver.Chrome(executable_path=path ,options=options) InvalidArgumentException Traceback (most recent call last) Input In [8], in <cell line: 14>() 11 url = "https://kakaku.com/" 12 keyword = "iphone"#検索するキーワードを宣言 ---> 14 driver = webdriver.Chrome(executable_path=path ,options=options) 15 driver.get("url") 16 time.sleep(3)#3秒待つ File ~\anaconda3\lib\site-packages\selenium\webdriver\chrome\webdriver.py:69, in WebDriver.__init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, service, keep_alive) 66 if not service: 67 service = Service(executable_path, port, service_args, service_log_path) ---> 69 super().__init__(DesiredCapabilities.CHROME['browserName'], "goog", 70 port, options, 71 service_args, desired_capabilities, 72 service_log_path, service, keep_alive) File ~\anaconda3\lib\site-packages\selenium\webdriver\chromium\webdriver.py:92, in ChromiumDriver.__init__(self, browser_name, vendor_prefix, port, options, service_args, desired_capabilities, service_log_path, service, keep_alive) 89 self.service.start() 91 try: ---> 92 super().__init__( 93 command_executor=ChromiumRemoteConnection( 94 remote_server_addr=self.service.service_url, 95 browser_name=browser_name, vendor_prefix=vendor_prefix, 96 keep_alive=keep_alive, ignore_proxy=_ignore_proxy), 97 options=options) 98 except Exception: 99 self.quit() File ~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py:270, in WebDriver.__init__(self, command_executor, desired_capabilities, browser_profile, proxy, keep_alive, file_detector, options) 268 self._authenticator_id = None 269 self.start_client() --> 270 self.start_session(capabilities, browser_profile) File ~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py:363, in WebDriver.start_session(self, capabilities, browser_profile) 361 w3c_caps = _make_w3c_caps(capabilities) 362 parameters = {"capabilities": w3c_caps} --> 363 response = self.execute(Command.NEW_SESSION, parameters) 364 if 'sessionId' not in response: 365 response = response['value'] File ~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py:428, in WebDriver.execute(self, driver_command, params) 426 response = self.command_executor.execute(driver_command, params) 427 if response: --> 428 self.error_handler.check_response(response) 429 response['value'] = self._unwrap_value( 430 response.get('value', None)) 431 return response File ~\anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py:243, in ErrorHandler.check_response(self, response) 241 alert_text = value['alert'].get('text') 242 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here --> 243 raise exception_class(message, screen, stacktrace) InvalidArgumentException: Message: invalid argument: user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir Stacktrace: Backtrace: Ordinal0 [0x00EDDF13+2219795] Ordinal0 [0x00E72841+1779777] Ordinal0 [0x00D8423D+803389] Ordinal0 [0x00DA2CD4+928980] Ordinal0 [0x00D9F179+913785] Ordinal0 [0x00DD36B9+1128121] Ordinal0 [0x00DD331A+1127194] Ordinal0 [0x00DCE616+1107478] Ordinal0 [0x00DA7F89+950153] Ordinal0 [0x00DA8F56+954198] GetHandleVerifier [0x011D2CB2+3040210] GetHandleVerifier [0x011C2BB4+2974420] GetHandleVerifier [0x00F76A0A+565546] GetHandleVerifier [0x00F75680+560544] Ordinal0 [0x00E79A5C+1808988] Ordinal0 [0x00E7E3A8+1827752] Ordinal0 [0x00E7E495+1827989] Ordinal0 [0x00E880A4+1867940] BaseThreadInitThunk [0x75DA6739+25] RtlGetFullPathName_UEx [0x772C8FD2+1218] RtlGetFullPathName_UEx [0x772C8F9D+1165]
該当のソースコード
python
1from selenium import webdriver 2from selenium.webdriver.chrome.options import Options 3import time 4 5options = Options() 6options.add_argument('--user-data-dir=C:\\Users\\AAA\\AppData\\Local\\Google\\Chrome\\User Data') 7options.add_argument('--profile-directory=Profile 1') 8options.add_argument('--lang=en') 9path = r'C:\Users\AAA\selenium\chromedriver.exe' 10 11url = "https://kakaku.com/" 12keyword = "iphone" 13 14driver = webdriver.Chrome(executable_path=path ,options=options) 15driver.get("url") 16time.sleep(3) 17 18search = driver.find_element_by_name("q") 19search.send_keys(keyword) 20search.submit() 21 22time. sleep(5) 23driver. quit()
試したこと
urlを他のサイトに変えてみたがやはり動かなかった
補足情報(FW/ツールのバージョンなど)
jupyte rnotebookを使用しています
回答1件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2022/09/24 01:43 編集
2022/09/24 08:03
2022/09/24 14:58