2015-08-12 28 views
34

İşte Temelde sorun dediğim bir hata alıyorum çünkü ben benim test uygulamasına giriş yapmanız mümkün değilim ki benim Kodunuzuphantomjsdriver selenium C# 'da çerez nasıl etkinleştirilir? "Tarayıcınız çerezleri engelleyecek şekilde ayarlanmış", her şeyi denedim -

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; 

var ama bunun çözümünü göremiyorum… ne yapmalıyım? Lütfen bana yardımcı olun. Bazı detayların eksik olup olmadığını bana bildirin.

+8

Çerezler varsayılan olarak etkindir terminali komutunu aşağıda denemek yaratmak. Muhtemelen başka bir sorun var. –

+1

Bu, PhantomJS'deki herhangi bir çerez ayarıyla neredeyse hiç ilgisi yoktur. Bu bir SSL sorunu veya bir JavaScript problemidir. Ziyaret etmeye çalıştığınız site ve PhantomJS sürümünüz nedir? –

+0

Onun en son sürümü. Sitenin adını burada paylaşabilir miyim emin değilim ... – Prateek

cevap

1
sayfa sonra yüklenip iken sen ayarlanmış çerez beklemeniz gerekir

:) 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 
0

Aşağıdaki deneyebilirsiniz adımları bir kullanıcı profili oluşturun:

driver.Navigate().GoToUrl(SeleniumConfiguration.Current.BaseURL); 
//Wait page loaded 
cookieJar.AddCookie(new Cookie("x", "12345")); 

bu çözümü deneyin firefox veya krom tarayıcıda. 2) "Çerezleri kabul et" seçeneğinin, tarayıcı ayarları seçeneğine gidilerek etkinleştirildiğini onaylayın. 3) Profilinizi selenyum yoluyla yükleyin.

Bunu yapmanız, tanımlama bilgisi seçeneğinin AÇIK olduğundan emin olmanızı sağlar ve oturumlarınız da tarayıcı önbelleğine kaydedilir.

ProfilesIni profile = new ProfilesIni(); 
FirefoxProfile ffprofile = profile.getProfile("ROHIT"); 
WebDriver driver = new FirefoxDriver(ffprofile); 

Firefox

için krom

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); 

için

firefox'taki profil firefox -p

+0

PhantomJSDriver, Chrome değil – Toolkit