如何启用cookie在phantomjsdriverseleniumc#?
这是我的代码 –
case BrowserType.PhantomJS: var service = PhantomJSDriverService.CreateDefaultService(Path.Combine(_rootPath, @"Packages\")); var cookieFilePath=Path.Combine(_rootPath, @"Packages\cookie.txt"); if (!File.Exists(cookieFilePath)) File.Create(cookieFilePath); var phantomjsoptions = new PhantomJSOptions(); driver = new PhantomJSDriver(service,phantomjsoptions); var cookieJar = driver.Manage().Cookies; driver.Navigate().GoToUrl(SeleniumConfiguration.Current.BaseURL); cookieJar.AddCookie(new Cookie("x", "12345")); return driver;
基本上问题是,我无法login到我的testing应用程序,因为我得到一个错误说 – “您的浏览器设置为阻止cookies”,我试过一切,但我似乎无法得到解决scheme….我该怎么办? 请帮助我在这里。让我知道是否有一些细节丢失。
您必须等待加载页面,然后设置cookie:
driver.Navigate().GoToUrl(SeleniumConfiguration.Current.BaseURL); //Wait page loaded cookieJar.AddCookie(new Cookie("x", "12345"));
试试这个解决scheme: https : //stackoverflow.com/a/30636987
driver.Navigate().GoToUrl(SeleniumConfiguration.Current.BaseURL);//some fake url driver.Manage().Window.Maximize(); driver.SwitchTo().ActiveElement(); cookieJar.AddCookie(new Cookie("x", "12345")); driver.Navigate().GoToUrl(SeleniumConfiguration.Current.BaseURL);//cookie exsist
你可以尝试下面的步骤
1)在Firefox或Chrome浏览器上创build一个用户configuration文件。 2)通过浏览器设置选项确认“接受cookies”选项已启用。 3)通过selenium加载您的configuration文件。
这样做将确保启用cookie选项为ON,并且您的会话也将保存在浏览器caching中。
为铬
System.setProperty("webdriver.chrome.driver", "browser/chromedriverlinux"); ChromeOptions options = new ChromeOptions(); options.addArguments("--user-data-dir=/home/rohit/.config/google-chrome/Profile 1"); options.addArguments("--start-maximized"); WebDriver driver = new ChromeDriver(options);
对于Firefox
ProfilesIni profile = new ProfilesIni(); FirefoxProfile ffprofile = profile.getProfile("ROHIT"); WebDriver driver = new FirefoxDriver(ffprofile);
要在firefox中创buildconfiguration文件,请在terminal firefox -p中尝试下面的命令