Я пытаюсь запустить следующий код. Но каждый раз, когда я запускаю новое окно Chrome, открывается. Как решить эту проблему. Кроме того, новый открытый экземпляр Chrome — это не вошел, поэтому я не могу использовать уже установленное расширение. Любой способ решить эту проблему?
Любая помощь будет оценена.
Я предоставил скриншот для того же:
Испытания кода:
package com.webdriver;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebElements {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
}
}
@ Парень, хорошо... спасибо... есть ли альтернатива firebug/firepath?
В Chrome у вас есть инструменты разработчика F12




Если вы просто хотите, чтобы окно закрывалось в конце, вы можете вызвать
driver.Quit();
и это должно закрыть его и очистить.
Когда вы выполняете свой код каждый раз, когда создается новый экземпляр ChromeDriver, который порождает новый сеанс Браузер Chrome. Эта функциональность согласно дизайну.
Лучшим подходом было бы вызвать driver.quit() в методе tearDown(){}, чтобы изящно закрыть и уничтожить экземпляры Вебдрайвер и Веб-браузер после каждого запуска Выполнение теста. Вы можете найти подробный обсуждение здесь.
Хотя это решило бы проблему нескольких окон Браузер Chrome, вы все равно не будете залогинился в новом сеансе. Чтобы войти в систему, вам нужно использовать определенный Профиль Chrome и сохранить печенье и повторно использовать их позже. Вы найдете подробное обсуждение того, как создать и открыть новый профиль Chrome в это обсуждение.
Чтобы использовать расширение, которые вы установили, вам нужно их упаковать/распаковать и использовать класс ChromeOptions.
Расширения Chrome могут быть упакованы или распакованы. Упакованные расширения представляют собой один файл с расширением .crx. Распакованные расширения — это каталог, содержащий расширение, включая файл manifest.json.
Чтобы упаковать распакованное расширение, используйте кнопку «Упаковать» в chrome://extensions или используйте Chrome (пример для Windows):
chrome.exe --pack-extension=C:\path\to\unpacked\extension --pack-extension-key=C:\myext.pem
См. документы по расширениям, чтобы узнать о других способах сделать это, более удобных для автоматизации. Чтобы распаковать упакованное расширение, просто разархивируйте файл (вам может потребоваться переименовать файл с .crx на .zip, чтобы утилита zip его распознала).
Упаковано (файл .crx):
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
WebDriver driver = new ChromeDriver(options);
Распакованный (каталог):
ChromeOptions options = new ChromeOptions();
options.addArguments("load-extension=/path/to/extension");
WebDriver driver = new ChromeDriver(options);
привет, это загружает только одно расширение .. как добавить несколько путей к файлам ..
Использование последних банок Selenium 4 Java и jar сервера Selenium решило мою проблему с дополнительным окном браузера Chrome.
Это ожидаемое поведение, тут ничего не исправить. Для загрузки расширений вы можете следить за эта почта