Selenium-Requests: Chrome w/ Chromedriver 106 - High failure rates of: "InvalidArgumentException: Message: invalid argument: No target with given id found" and "WebDriverException: Message: disconnected: received Inspector.detached event"
My project (and users) are seeing a new issue which started with the release of chrome & chromedriver v106.
Minimal reproduction case (full code here) - pseudocode:
webdriver = Chrome(options=ChromeOptions(),
executable_path=<path to chromedriver>)
webdriver.get('https://www.google.com')
# This fails spuriously:
response = webdriver.request('GET', 'https://www.google.com/images/branding/googlelogo/2x/googlelogo_light_color_272x92dp.png')
response.raise_for_status()
Could you help me triage what’s going on? At first glance it seems like the window spawning/window switching isn’t working correctly anymore.
I was seeing this on both selenium-requests v2.0.0 and v1.4.1.
Win11:
DevTools listening on ws://127.0.0.1:59212/devtools/browser/fe19f00b-78d2-4317-b61c-47387f710856
[17404:4820:1001/224935.886:ERROR:interface_endpoint_client.cc(689)] Message 0 rejected by interface blink.mojom.WidgetHost
Traceback (most recent call last):
File "C:\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Python310\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "C:\Users\jeffp\repos\mint-amazon-tagger\mintamazontagger\repro_mac_issue.py", line 32, in <module>
main()
File "C:\Users\jeffp\repos\mint-amazon-tagger\mintamazontagger\repro_mac_issue.py", line 21, in main
response = webdriver.request(
File "C:\Users\jeffp\repos\mint-amazon-tagger\dev_venv\lib\site-packages\seleniumrequests\request.py", line 159, in request
self.requests_session.headers = get_webdriver_request_headers(self, proxy_host=self.__proxy_host)
File "C:\Users\jeffp\repos\mint-amazon-tagger\dev_venv\lib\site-packages\seleniumrequests\request.py", line 76, in get_webdriver_request_headers
webdriver.switch_to.window(original_window_handle)
File "C:\Users\jeffp\repos\mint-amazon-tagger\dev_venv\lib\site-packages\selenium\webdriver\remote\switch_to.py", line 134, in window
self._w3c_window(window_name)
File "C:\Users\jeffp\repos\mint-amazon-tagger\dev_venv\lib\site-packages\selenium\webdriver\remote\switch_to.py", line 142, in _w3c_window
send_handle(window_name)
File "C:\Users\jeffp\repos\mint-amazon-tagger\dev_venv\lib\site-packages\selenium\webdriver\remote\switch_to.py", line 138, in send_handle
self._driver.execute(Command.SWITCH_TO_WINDOW, {'handle': h})
File "C:\Users\jeffp\repos\mint-amazon-tagger\dev_venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 429, in execute
self.error_handler.check_response(response)
File "C:\Users\jeffp\repos\mint-amazon-tagger\dev_venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 243, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: No target with given id found
(Session info: chrome=106.0.5249.91)
Stacktrace:
Backtrace: Can provide upon request - not useful
Mac:
Traceback (most recent call last):
File "/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/Users/jeff/repos/mint-amazon-tagger/mintamazontagger/repro_selenium_issue.py", line 32, in <module>
main()
File "/Users/jeff/repos/mint-amazon-tagger/mintamazontagger/repro_selenium_issue.py", line 21, in main
response = webdriver.request(
File "/Users/jeff/repos/mint-amazon-tagger/dev_venv/lib/python3.8/site-packages/seleniumrequests/request.py", line 162, in request
self.requests_session.headers = get_webdriver_request_headers(
File "/Users/jeff/repos/mint-amazon-tagger/dev_venv/lib/python3.8/site-packages/seleniumrequests/request.py", line 79, in get_webdriver_request_headers
webdriver.switch_to.window(original_window_handle)
File "/Users/jeff/repos/mint-amazon-tagger/dev_venv/lib/python3.8/site-packages/selenium/webdriver/remote/switch_to.py", line 134, in window
self._w3c_window(window_name)
File "/Users/jeff/repos/mint-amazon-tagger/dev_venv/lib/python3.8/site-packages/selenium/webdriver/remote/switch_to.py", line 142, in _w3c_window
send_handle(window_name)
File "/Users/jeff/repos/mint-amazon-tagger/dev_venv/lib/python3.8/site-packages/selenium/webdriver/remote/switch_to.py", line 138, in send_handle
self._driver.execute(Command.SWITCH_TO_WINDOW, {'handle': h})
File "/Users/jeff/repos/mint-amazon-tagger/dev_venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 429, in execute
self.error_handler.check_response(response)
File "/Users/jeff/repos/mint-amazon-tagger/dev_venv/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 243, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: disconnected: received Inspector.detached event
(Session info: chrome=106.0.5249.61)
Ubuntu (both errors):
Traceback (most recent call last):
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/bin/mint-amazon-tagger-repro_mac_issue", line 8, in <module>
sys.exit(main())
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/mintamazontagger/repro_mac_issue.py", line 21, in main
response = webdriver.request(
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/seleniumrequests/request.py", line 159, in request
self.requests_session.headers = get_webdriver_request_headers(self, proxy_host=self.__proxy_host)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/seleniumrequests/request.py", line 76, in get_webdriver_request_headers
webdriver.switch_to.window(original_window_handle)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/switch_to.py", line 134, in window
self._w3c_window(window_name)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/switch_to.py", line 142, in _w3c_window
send_handle(window_name)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/switch_to.py", line 138, in send_handle
self._driver.execute(Command.SWITCH_TO_WINDOW, {'handle': h})
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 429, in execute
self.error_handler.check_response(response)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 243, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: disconnected: received Inspector.detached event
(Session info: chrome=106.0.5249.61)
Stacktrace:
#0 0x5624511412c3 <unknown>
...useless stack...
#34 0x7f65e85b3b43 <unknown>
Traceback (most recent call last):
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/bin/mint-amazon-tagger-repro_mac_issue", line 8, in <module>
sys.exit(main())
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/mintamazontagger/repro_mac_issue.py", line 21, in main
response = webdriver.request(
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/seleniumrequests/request.py", line 159, in request
self.requests_session.headers = get_webdriver_request_headers(self, proxy_host=self.__proxy_host)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/seleniumrequests/request.py", line 76, in get_webdriver_request_headers
webdriver.switch_to.window(original_window_handle)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/switch_to.py", line 134, in window
self._w3c_window(window_name)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/switch_to.py", line 142, in _w3c_window
send_handle(window_name)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/switch_to.py", line 138, in send_handle
self._driver.execute(Command.SWITCH_TO_WINDOW, {'handle': h})
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 429, in execute
self.error_handler.check_response(response)
File "/home/jeff/repos/mint-amazon-tagger/pypi_test_venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 243, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: disconnected: received Inspector.detached event
(failed to check if window was closed: no such frame: Session with given id not found.)
(Session info: chrome=106.0.5249.61)
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 18 (6 by maintainers)
Commits related to this issue
- Add workaround for #53 — committed to cryzed/Selenium-Requests by cryzed 2 years ago
- Add new branch with fix from: https://github.com/cryzed/Selenium-Requests/issues/53 — committed to jprouty/mint-amazon-tagger by jprouty 2 years ago
The correct fix for this would be to report this upstream to the chromium/chromedriver developers, and fix the actual issue and not just a symptom in some (my) downstream package.
I’ll look into parsing the version number and doing this comparison when I find time, it just seems a bit silly that I am constantly working around bugs in webdrivers.
I just applied the workaround for v108 in 2.0.2.
I got similar issue on my environment too.
Chrome 106.0.5249.91 + chromedriver mac_arm64 selenium-requests 2.0.0
Somehow I got around by “commenting” all work around for Chrome that thrown exception in request.py
#webdriver.switch_to.window(original_window_handle)That fixed my problem and made my script to work again just fine.