Selenium Chromedriver - 正常打开Chrome

时间:2018-05-28 09:02:57

标签: java selenium selenium-chromedriver

我正在尝试使用 Selenium ChromeDriver登录Web应用程序。我能够正确填写电子邮件和密码字段,但每次点击登录时,都要求我输入发送到我的电子邮箱的新验证码。

如果我使用Chrome正常登录,则会跳过此步骤。有没有办法使用Selenium打开Chrome,以便记住我的用户名和密码?

到目前为止,这是我的代码:

String baseUrl = "https://www.easports.com/fifa/ultimate-team/web-app/";
driver.get(baseUrl);
driver.manage().window().fullscreen();
Thread.sleep(10000);

WebElement login = driver.findElement(By.xpath("//*[@id='Login']/div/div/div[1]/div/button"));
login.click();
Thread.sleep(2000);



WebElement email = driver.findElement(By.xpath("//*[@id=\'email\']"));
email.sendKeys("******@hotmail.com");
Thread.sleep(1000);

WebElement password = driver.findElement(By.xpath("//*[@id='password']"));
password.sendKeys("*******");

WebElement loginButton = driver.findElement(By.xpath("//*[@id='btnLogin']/span"));
loginButton.click();
Thread.sleep(10000);

1 个答案:

答案 0 :(得分:1)

Selenium使用临时浏览器配置文件。如果要使用现有配置文件,则需要在驱动程序打开浏览器之前指定它。我在这个设置中使用Firefox:

@BeforeClass
public static void setUpClass() {

    FirefoxOptions options = new FirefoxOptions();
    ProfilesIni allProfiles = new ProfilesIni();         
    FirefoxProfile selenium_profile = allProfiles.getProfile("selenium_profile");
    options.setProfile(selenium_profile);
    options.setBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
    System.setProperty("webdriver.gecko.driver", "C:\\Users\\pburgr\\Desktop\\geckodriver-v0.20.0-win64\\geckodriver.exe");
    driver = new FirefoxDriver(options);
    driver.manage().window().maximize();

}

selenium_profile在我的案例中定制了firefox个人资料(不要求下载文件,不要求用户证书等)。

我一口气说道,我不知道Chrome是否可用。