-
-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DevTools discovery page is deprecated #161
Comments
The discovery page content seems to have been removed and the page is now empty (since this commit, released in Chrome 100). A workaround that works for us is to load the JSON version of the page ( |
I tried
but, while it does open a visible browser window, the content is empty: I was considering opening an issue for it, but it sounds like this #161 is already the issue for this bug, right? It's just that as a new user who is just following the Readme and is unfamiliar with terms like "discovery page", I would not have recognized this issue as being the one to look at for my problem. Should we update the title to some thing more like what users might be searching for, like "Debug open new tab but just shows a blank page"? Anyway, thanks for the workaround! That does work for me:
Could those steps be automated and done for the user automatically? Or does the driver not have a way to control the visible window? Since the instructions for this are currently incomplete, should we update the Readme in the meantime to include the full instructions (the above "workaround") for how to inspect your actual page-under-test? Unless a fix for this is forthcoming...? |
I have exactly the same issue as you @TylerRick . |
I fixed it for now by monkey-patching the method which generates the debug url (put this in some file which is loaded after cuprite, e.g. module Capybara
module Cuprite
class Driver
def debug_url
response = JSON.parse(Net::HTTP.get(URI(build_remote_debug_url(path: "/json"))))
devtools_frontend_path = response[0]&.[]("devtoolsFrontendUrl")
raise "Could not generate debug url for remote debugging session" unless devtools_frontend_path
build_remote_debug_url path: devtools_frontend_path
end
private
def build_remote_debug_url(path:)
"http://#{browser.process.host}:#{browser.process.port}#{path}"
end
end
end
end Edit: I am not sure if this is exclusive to my setup, but I also needed to add a browser option otherwise the devtools websocket wouldn't connect. Capybara::Cuprite::Driver.new(app, browser_options: {"remote-allow-origins": "*"}, ...) I'd gladly create a PR if desired. |
@phikes does it open devtools session for you? I have this message on my Mac: |
Yes, it does. I use Chrome Canary on OS X Ventura 13.0.1. Did you try the |
Missed it somehow. Could you please create a PR? |
Thanks! |
debug
method access the DevTools discovery page. But the page is deprecated now.Ref: https://bugs.chromium.org/p/chromium/issues/detail?id=1232509
They suggest to use
chrome://inspect
instead. But, if my understanding is correct, the inspect page can't access directly. Should we remove accessing a page and show a message only?The text was updated successfully, but these errors were encountered: