19
Май
2018

Как залогиниться в gmail.com с помощью Selenium Webdriver +Java

Страницу ввода логина прохожу удачно, а дальше такая страница следует

Менял профили и для Хрома и для Мозилы - не помогает, как будто защита стоит у них против автоматизированного ПО. Т.к. вручную все получается и такая страница не выскакивает.

 public static WebDriver configureFirefox() {
    System.setProperty("webdriver.gecko.driver", "C:\\Program Files\\WebDrivers\\geckodriver.exe");
    ProfilesIni profile1 = new ProfilesIni();
    FirefoxProfile myProfile = profile1.getProfile("default");

    DesiredCapabilities capabilities = DesiredCapabilities.firefox();
    capabilities.setJavascriptEnabled(true);
    capabilities.setCapability(FirefoxDriver.PROFILE, myProfile);
    return new FirefoxDriver(capabilities);
}

public static WebDriver configureChrome() {
    System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\WebDrivers\\chromedriver.exe");
   DesiredCapabilities capabilities = DesiredCapabilities.chrome();
    capabilities.setJavascriptEnabled(true);

    ChromeOptions options = new ChromeOptions();
    options.addArguments("user-data-dir=C:/Users/Admin/AppData/Local/Google/Chrome/User Data/");

    options.addArguments("--start-maximized");
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);

    return new ChromeDriver(capabilities);
}

private final String linkEnterEmailCssLocator = "a.gmail-nav__nav-link.gmail-nav__nav-link__sign-in";

public StartMailPage(WebDriver driver) {
    super(driver);
}

public StartMailPage open() {
    this.open("https://www.google.com/intl/ru/gmail/about/#");
    return new StartMailPage(driver);
}

public LoginPage clickEnterEmail(){
    this.findByCss(linkEnterEmailCssLocator).click();
    return new LoginPage(driver);
}

/*    @FindBy(how = How.CSS, css = "span.RveJvd.snByac")
WebElement buttonNext;*/

private final String inputLoginIdLocator = "identifierId";
//private final String inputReserveEmailIdLocator = "recoveryIdentifierId";
private final String inputPasswordCssLocator = "#password > div.aCsJod.oJeWuf > div > div.Xb9hP > input";
private final String changeUserLinkIdLocator = "identifierLink";

private final String buttonNext = "span.RveJvd.snByac";

public LoginPage(WebDriver driver) {
    super(driver);
}


public SecurityPage logIn(String log, String pass) {
    this.findById(changeUserLinkIdLocator).click();

    this.findById(inputLoginIdLocator).sendKeys(log);

    this.findByCss(buttonNext).click();
    this.findById(inputPasswordCssLocator).sendKeys(pass);
   // js.executeScript("arguments[0].click()", buttonNext);
   // buttonNext.click();
    this.findByCss(buttonNext).click();
    return new SecurityPage();
}


@BeforeTest
public void configureBrowser(){
    firefox = WebDriverFactory.configureFirefox();
    firefox.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}

  @AfterTest
public void closeBrowser() {
    firefox.quit();
}

    @Test
public void logIn(){
    new StartMailPage(firefox).open().clickEnterEmail().logIn("login","password");

}

Источник: https://ru.stackoverflow.com/questions/830312/%D0%9A%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BB%D0%BE%D0%B3%D0%B8%D0%BD%D0%B8%D1%82%D1%8C%D1%81%D1%8F-%D0%B2-gmail-com-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-selenium-webdriver-java

Тебе может это понравится...

Добавить комментарий