1

如何使用 Web 驱动程序在 Firefox 中实现“记住我”自动化?我正在使用网络驱动程序 2.20、Eclipse IDE、Firefox 9.0

4

2 回答 2

0

您遇到这种情况的原因是每次您启动 Firefox 时,webdriver 都会创建一个没有 cookie 的新匿名配置文件。您可以使其使用特定的配置文件,该配置文件应保留 cookie。

File profileDir = new File("path/to/profile");
FirefoxProfile profile = new FirefoxProfile(profileDir);
WebDriver driver = new FirefoxDriver(profile);

FirefoxProfile有许多其他选项,例如添加扩展等。

于 2012-07-20T17:19:54.970 回答
0

我了解您需要 Firefox 的解决方案,但我有以下适用于 Chrome 的工作版本。您可以参考此链接以获取 firefox 解决方案: 如何在不清除 cookie 或缓存的情况下启动 Selenium RemoteWebDriver 或 WebDriver?

对于 Chrome(配置):您必须设置用户目录的路径,这将在您第一次登录后保存所有登录信息。下次您再次登录时,将获取来自用户目录的登录信息。

System.setProperty("webdriver.chrome.driver", "res/chromedriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
options.addArguments("start-maximized");
options.addArguments("user-data-dir=D:/temp/");
capabilities.setCapability("chrome.binary","res/chromedriver.exe");
capabilities.setCapability(ChromeOptions.CAPABILITY,options);
WebDriver driver = new ChromeDriver(capabilities);

首次登录:

driver.get("https://gmail.com");
//Your login script typing username password, check 'keep me signed in' and so on

关闭驱动程序(不要退出):

driver.close(); 

重新初始化驱动程序并导航到该站点。不应再次要求您输入用户名和密码:

driver = new ChromeDriver(capabilities);
driver.get("http://gmail.com");

可以使用 firefox 配置文件为 firefox 实现上述内容。

于 2015-04-01T16:55:34.503 回答