私がこれまでに理解していることから、Chromeドライバーは常にブラウザーのCookieが保存されていない状態で起動します。
Chromeに保存されているすべてのCookieでドライバーを起動する必要があります。
すでに保存されているCookieを使用してドライバーを起動する方法はありますか? .net 4.5でC#を使用しています。
はい、Firefoxプロファイルと同じように保存されたchromeプロファイルを呼び出すことでそれを行うことができます。以下は、少し前に行ったときにメモした手順です。
javaでは、ChromeOptionsとChrome Profileを使用してこれを行うことができます。chrome chrome:// version /に移動すると、プロファイルパスと実行可能パスが表示されます。 。
私がこれに取り組んでいるように、プロファイルパスは\Local\Google\Chrome\User Data\Profile 3
です。これは通常のブラウザでchrome://version/
に移動したときに表示されるものを表示していますchromeブラウザ。このプロファイルでは、i stackoverflowに移動し、資格情報を保存しました。以下のコードで使用します
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("binary", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
System.setProperty("webdriver.chrome.driver", "E:\\Selenium_setups\\poi-3.12\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", prefs);
options.addArguments("user-data-dir=C:\\Users\\murali\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 3");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(capabilities);
//WebDriver driver = new ChromeDriver(options);
driver.get("http://stackoverflow.com/");
私の理解によると、ログインとして表示されるstackoverflow.comページを除外しましたが、初めてログインしていません。したがって、chrome:// version/in chromeによって開かれました。ドライバー、プロファイルパスは\ Local\Google\Chrome\User Data\Profile 3\Defaultとして表示されます。次に、そのプロファイル自体に手動でログインします。これはWebドライバーによって開かれ、閉じることによってゲインを実行します。
最後に、ページはログイン済みとして表示されます。したがって、Javaである可能性があります。これが、C#での試行に役立つことを願っています。