driver.get("https://example.com");
// или
driver.navigate().to("https://example.com");
Разница:
get()
сразу ожидает загрузки страницыnavigate().to()
более гибкий (часто вызывает get()
внутри)driver.navigate().refresh();
Применение: После действий, которые не обновляют страницу автоматически
driver.navigate().back(); // Назад
driver.navigate().forward(); // Вперед
Пример сценария:
driver.get("https://page1.com");
driver.get("https://page2.com");
driver.navigate().back(); // Вернет на page1
driver.navigate().forward(); // Снова на page2
String currentUrl = driver.getCurrentUrl();
String pageTitle = driver.getTitle();
driver.manage().window().maximize(); // Максимизировать
driver.manage().window().minimize(); // Минимизировать
driver.manage().window().fullscreen(); // Полный экран
Dimension size = driver.manage().window().getSize();
driver.manage().window().setSize(new Dimension(1024, 768));
// По индексу
driver.switchTo().frame(0);
// По имени/ID
driver.switchTo().frame("frameName");
// По элементу
WebElement frame = driver.findElement(By.tagName("iframe"));
driver.switchTo().frame(frame);
driver.switchTo().defaultContent();
// Получение всех дескрипторов окон
Set<String> handles = driver.getWindowHandles();
// Переключение на новое окно
for (String handle : handles) {
if (!handle.equals(currentHandle)) {
driver.switchTo().window(handle);
break;
}
}
// Добавление куки
driver.manage().addCookie(new Cookie("name", "value"));
// Получение куки
Cookie cookie = driver.manage().getCookieNamed("cookieName");
// Удаление куки
driver.manage().deleteCookieNamed("cookieName");
// Неявное ожидание
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// Ожидание загрузки страницы
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
// Ожидание выполнения скрипта
driver.manage().timeouts().setScriptTimeout(5, TimeUnit.SECONDS);
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("window.location.href = 'https://example.com';");
js.executeScript("window.history.go(-1);"); // Назад
js.executeScript("window.history.forward();"); // Вперед
Базовые команды:
get()
, navigate().to()
- открытие страницrefresh()
- обновлениеback()
, forward()
- история браузераУправление окнами:
maximize()
, minimize()
, fullscreen()
Фреймы и окна:
switchTo().frame()
switchTo().window()
getWindowHandles()
Специальные команды:
Профессиональный совет: Для надежной навигации всегда комбинируйте команды Selenium с явными ожиданиями (WebDriverWait), чтобы избежать проблем с динамически загружаемыми элементами.