Selenium действительно может получить доступ к меню настроек chrome и изменять параметры по своему усмотрению. Это связано с тем, что параметр просто представляет собой HTML DOM, вы можете проверить это, нажав F12
и перейдя в раздел Elements
. см. пример для примера.
Я использовал .elementToBeClickable()
в своем коде ниже. Это идеально, так как вы хотите просто переключить кнопку. .until()
возвращает ожидаемый элемент, так что вы можете просто добавить .click()
в конце оператора.
driverChrome.manage().window().maximize();
driverChrome.get("chrome://settings");
WebElement w = driverChrome.findElement(By.xpath("//iframe[@name='settings']"));
driverChrome = driverChrome.switchTo().frame(w);
WebDriverWait wait = new WebDriverWait(driverChrome, 10);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[text()='Show advanced settings...']"))).click();//****replace the text here
Как видите, я получаю доступ к настройкам chrome и в этом установите XPath на текст кнопки (вы можете изменить это, если хотите). Это щелкает / переключает элемент и в вашем случае будет устанавливать, открывать ли в chrome или загружать его.