关闭Selenium WebDriver后重启时遭遇InvalidSessionIdException求助
处理ReCAPTCHA时遇到InvalidSessionIdException问题
为处理ReCAPTCHA,我编写了如下异常处理代码:
try: #some code except: print('recaptcha') time.sleep(5) driver.close() #Verify that command has been executed print('Closed') #restart webdriver driver = webdriver.Chrome(service=s, options = options) #recursive call of function return parser(link, driver = driver)
我也曾用implicitly.wait替代time.sleep,但执行driver.close()时仍触发InvalidSessionIdException。
try: #some code except InvalidSessionIdException print(e.message)
我尝试了相关解决方案,但不仅无效,还陷入了异常循环。其他方案的逻辑和我的代码一致。以下是报错栈信息:
File E:\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py:551, in WebDriver.close(self) 543 def close(self) -> None: 544 """Closes the current window. 545 546 :Usage: (...) 549 driver.close() 550 """ --> 551 self.execute(Command.CLOSE) File E:\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py:440, in WebDriver.execute(self, driver_command, params) 438 response = self.command_executor.execute(driver_command, params) 439 if response: --> 440 self.error_handler.check_response(response) 441 response["value"] = self._unwrap_value(response.get("value", None)) 442 return response File E:\anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py:245, in ErrorHandler.check_response(self, response) 243 alert_text = value["alert"].get("text") 244 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here --> 245 raise exception_class(message, screen, stacktrace) InvalidSessionIdException: Message: invalid session id
我尝试用driver.quit()关闭驱动后重启,但此时在driver.get(url)步骤仍会出现相同错误。
内容的提问来源于stack exchange,提问作者Vladislav
相关产品推荐
相关产品推荐

