-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[🐛 Bug]: Setting chrome to w3c: false in Selenium 4 causes errors #10448
Comments
@marcoadkins, thank you for creating this issue. We will troubleshoot it as soon as we can. Info for maintainersTriage this issue by using labels.
If information is missing, add a helpful comment and then
If the issue is a question, add the
If the issue is valid but there is no time to troubleshoot it, consider adding the
If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, W3C),
add the applicable
After troubleshooting the issue, please add the Thank you! |
You can turn on logging to see what is getting sent to the driver in what order ( but this needs to be raised with Capybara https://github.com/teamcapybara/capybara/issues For some reason |
@titusfortner Thanks for giving it a look. Alright I'll try the logging and raise the issue with capybara. |
@titusfortner Updated the issue description with the relevant selenium logger output. Looks like Capybara is trying to clear cookies and local storage when it hits the execute endpoint. |
Hmm, there is a JS blob that we script for clearing local storage, but it shouldn't be getting sent to Can you show me the relevant portion of the logs? |
@titusfortner Its in the description. Check the "Relevant Selenium Logger Output:" section. |
@titusfortner It may be due to the fact that my WebDriver is remote. Looking at the remote driver code it calls execute to send the delete cookies command. #selenium/webdriver/remote/bridge.rb:364
def delete_all_cookies
execute :delete_all_cookies
end |
No, it's coming from this — https://github.com/teamcapybara/capybara/blob/f7ab0b5cd5da86185816c2d5c30d58145fe654ed/lib/capybara/selenium/driver_specializations/chrome_driver.rb#L54 Selenium isn't actually doing anything more than sending that code along to the driver, so if there's a bug here, it's probably with Chromedriver, but Capybara should be able to provide insight into that specific call. |
@titusfortner Good eye. Well regardless I got things working by removing the |
Ah, yes. Chrome is the only driver that has a JSON Wire Protocol mode still ( Your code sends to Selenium Server and says use JWP, but JWP classes aren't wired up to use the newest endpoints and methods, so Server doesn't understand what Ruby wants it to do... Capybara is assuming that you either won't be in JWP mode, or won't be going through the Server. |
I'm opening this back up because I think bindings should prevent setting w3c to false in Selenium 4 since we no longer support OSS endpoints. |
But that would mean that Selenium code needs to analyze the Chrome options, and ideally the JSON Wire Protocol in ChromeDriver will go away at some point soon. |
In a previous TLC meeting it was decided that the bindings won't allow this to be set. So I am adding labels for each language so we can work on this. |
Given that |
Implemented, warnings for Java. I won't remove the java label since those warnings need to be converted to an error for 4.4 |
…ptions` Helps with SeleniumHQ#10448 [skip ci]
This issue is looking for contributors. Please comment below or reach out to us through our IRC/Slack/Matrix channels if you are interested. |
I'm not sure what to do with the Java piece. I'm updating the warning being logged to reference "false" instead of "true," and I'm not sure we should throw the errors until we stop supporting the Java handshake. I'm removing the 4.4 label because I think this is good enough. We can close this or add it to another list for when removing handshake. |
Closing since Java will throw when a user sets the This is not the same as supporting the handshake JWP/W3C because a user could send W3C caps in the session request, and still send the |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
What happened?
Upon upgrading from selenium 3.142 to 4.1, the driver started throwing a
Selenium::WebDriver::Error::ScriptTimeoutError
when attempting to reset between tests viadriver.reset!
How can we reproduce the issue?
Relevant log output
Relevant Selenium Logger Output:
Operating System
macOS Big Sur
Selenium version
4.1.0
What are the browser(s) and version(s) where you see this issue?
Google Chrome 96.0.4664.93
What are the browser driver(s) and version(s) where you see this issue?
Google Chrome 96.0.4664.93
Are you using Selenium Grid?
No response
The text was updated successfully, but these errors were encountered: