In my current project I use selenium 3 and I want to update to selenium 4.
I have to convert the following code to selenium 4.
Old code:
ChromeOptions options = new ChromeOptions();
options.addArguments("--incognito");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
capabilities.setJavascriptEnabled(true);
driver = new ChromeDriver(capabilities);
Now selenium 4 code - Can you tell me if this code is correct ?
ChromeOptions options = new ChromeOptions();
options.addArguments("--incognito");
options.addArguments("--enable-javascript");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
options.merge(capabilities);
driver = new ChromeDriver(options);
Is the new code correct ?
Is the "merge" function correct ?
I see that "CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true
" is depreciated in Selenium 4 and does not work - is there any replacement for this ? What was it doing ?
What does actually do "capabilities.setJavascriptEnabled(true)
" ?
Is is possible that option "capabilities.setJavascriptEnabled(true);
" may cause erros along with the following wait code ?
new WebDriverWait(driver, MyDefaultTimeout).Until(
d => ((IJavaScriptExecutor) d).ExecuteScript("return document.readyState").Equals("complete"));