如何使用 Web 驱动程序在 Firefox 中实现“记住我”自动化?我正在使用网络驱动程序 2.20、Eclipse IDE、Firefox 9.0
问问题
1554 次
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 回答