Я попытался войти в Gmail, используя безголовый браузер с Selenium, но он выдает:
'Unable to locate element: {"method":"xpath","selector":"//input[@id='identifierId']"}
Но то же самое прекрасно работает с обычным браузером, использующим селен. Мой фрагмент кода ниже:
public static WebDriver login_page() throws InterruptedException {
//WebDriver driver = new HtmlUnitDriver();
System.setProperty("webdriver.chrome.driver", "D:/Selenium/chromedriver.exe");
ChromeOptions option=new ChromeOptions();
option.addArguments("start-maximized");
option.addArguments("disable-infobars");
option.addArguments("--disable-extensions");
option.addArguments("--headless");
WebDriver driver = new ChromeDriver(option);
driver.get("https://www.gmail.com");
Thread.sleep(10000);
System.out.println("Page title is: " + driver.getTitle());
String title = driver.getTitle();
try {
Assert.assertEquals(title, "Gmail");
System.out.println("Correct Page Loaded");
}catch(AssertionError e) {
System.out.println("Correct Page NOT Loaded");
}
WebElement name = driver.findElement(By.xpath("//input[@id='identifierId']"));
name.sendKeys("test@gmail.com");
driver.findElement(By.xpath("//span[@class='RveJvd snByac'][contains(text(),'Next')]")).click();
Thread.sleep(5000);
WebElement pwd= driver.findElement(By.xpath("//input[@type='password']"));
pwd.sendKeys("Passwor1234");
driver.findElement(By.xpath("//span[@class='RveJvd snByac'][contains(text(),'Next')]")).click();
// System.out.println("Page title is: " + driver.getTitle());
}