硒铬驱动程序 - 正常打开铬



我正在尝试使用SeleniumChromeDriver登录到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);

> Selenium使用临时浏览器配置文件。如果要使用现有配置文件,则需要在驱动程序打开浏览器之前指定它。铬的示例:

public class WebdriverSetup {   
public static String chromedriverPath = "C:\Users\pburgr\Desktop\selenium-tests\GCH_driver\chromedriver.exe";
// my default profile folder
public static String chromeProfilePath = "C:\Users\pburgr\AppData\Local\Google\Chrome\User Data";    
public static WebDriver driver; 
public static WebDriver startChromeWithCustomProfile() {
System.setProperty("webdriver.chrome.driver", chromedriverPath);
ChromeOptions options = new ChromeOptions();
// loading Chrome with my existing profile instead of a temporary profile
options.addArguments("user-data-dir=" + chromeProfilePath);
driver = new ChromeDriver(options);
driver.manage().window().maximize();
return driver;
}
public static void shutdownChrome() {
driver.close();
driver.quit();
}
}

对于火狐浏览器:

@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配置文件(不要要求下载文件,不要要求用户证书等(。

相关内容

  • 没有找到相关文章

最新更新