http://prntscr.com/gl4pv4 is such a form on the site. It loads dynamically after the "Enter" button is pressed.
The webdriver loads the page, presses login and after that it displays an error when trying to find the cssSelector login field. WebElement loginField = webDriver.findElement (By.cssSelector ("input.r-form__input-element [name = 'login']")); - there is an error on this line. Here is the code:
package ru.babyblog; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.ui.ExpectedCondition; import java.util.List; import java.util.concurrent.TimeUnit; public class CreatePostJournal { WebDriver webDriver; public boolean CreatePost(By locator) { System.setProperty("webdriver.chrome.driver", "C:\\SeleniumDrivers\\chromedriver.exe"); webDriver = new ChromeDriver(); webDriver.manage().window().maximize(); webDriver.get("https://www.babyblog.ru/"); webDriver.findElement(By.id("enter")).click(); //тут все кликнулось ок webDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); // тут жду пока откроется форма WebElement loginField = webDriver.findElement(By.cssSelector("input.r-form__input-element [name='login']")); //Вот тут ошибка webDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); loginField.clear(); loginField.sendKeys("login@hi2.in"); webDriver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); WebElement passwordField = webDriver.findElement(By.cssSelector("input.r-form__input-element [name= 'password']")); webDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); passwordField.clear(); passwordField.sendKeys("1111"); WebElement enterField = webDriver.findElement(By.cssSelector("button.r-btn.r-btn__green.r-btn__fill")); enterField.click(); webDriver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); List<WebElement> list = webDriver.findElements(locator); webDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); if(list.size() == 0) { return false; }else { return list.get(0).isDisplayed(); } // TODO: logic } }