我已登录Google并将会话的cookie存储在JSON文件中。
我正在尝试创建Selenium会话并从这些cookie中还原,以便可以在此新会话上登录Google。
使用Puppeteer时,我能够成功还原会话,此代码可还原会话:
const page = await driver.newPage()
try {
await page.goto("https://google.com")
//driver.manage().timeouts().pageLoadTimeOut(30,
TimeUnit.SECONDS)
}
catch (err) {
return console.log("ERROR WITH PROXY: " + err.message)
}
await page.setCookie(...cookies)
await page.reload()
await page.goto("https://google.com")
但是,当我尝试在Selenium中执行相同操作时,我没有收到任何错误,但是添加cookie并重新加载页面后,我的会话没有恢复。代码如下:
var data = fs.readFileSync("Accounts.json")
var json = JSON.parse(data)
var options = new chrome.Options()
var cookiesProxies = GetAccount(json, account)
var arguments = SetOptions(cookiesProxies.proxy)
var cookies = cookiesProxies.cookies
options.addArguments(arguments)
var driver = new webdriver.Builder()
.withCapabilities(options)
.forBrowser("chrome")
.build()
await driver.get("https://google.com")
await driver.manage().addCookie(...cookies)
await driver.navigate().refresh()
我什至试图将所有单独的cookie字典传递给该函数,但仍然无法正常工作。
有什么想法吗?