应用程序在浏览器中执行特定操作后设置cookie。我试图退出浏览器并重新启动浏览器会话,但无法在浏览器窗口中再次找到特定的cookie。我正在使用Chrome浏览器。我已经尝试手动重新启动浏览器再次搜索cookie,并能够找到它
有人能在这方面提供帮助。不确定我的代码是否清除了Cookie
使用的代码
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("ignore-certificate-errors");
Object proxy = getCorrectProxy();
chromeOptions.setCapability(CapabilityType.PROXY, proxy);
chromeOptions.setCapability("acceptInsecureCerts", true);
chromeOptions.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
chromeOptions.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT, true);
System.setProperty("webdriver.chrome.driver", GlobalSettings.CHROME_DRIVER_PATH);
driver = new ChromeDriver(chromeOptions);
在没有Chrome选项的情况下尝试了下面的代码,但仍然看不到Cookie
System.setProperty("webdriver.chrome.driver", GlobalSettings.CHROME_DRIVER_PATH);
driver = new ChromeDriver();
2条答案
按热度按时间nuypyhwy1#
默认情况下,Selenium会在每次启动浏览器的新示例时创建一个新的浏览器会话。这意味着Cookie和其他浏览器数据不会在不同的Selenium示例之间共享。
但是,可以通过使用公共浏览器配置文件在不同浏览器示例之间共享Cookie。浏览器配置文件包含所有用户数据,包括Cookie、缓存、浏览历史记录和其他设置,并且可以在同一浏览器的示例之间共享。
vyswwuz22#
默认情况下,Selenium Webdriver以匿名模式启动chrome浏览器,并且不保留cookie。因此,当我们使用默认的Chrome配置文件时,永久性Cookie会被保留,代码如下所示。这已经过测试,工作正常
注意:仅为用于使用默认chrome配置文件的Chromeoption代码添加了代码。根据要求提供其他必要的Chrome选项