如何在硒会话中正确添加Cookie? (使用Node JS)

时间:2019-05-03 04:06:40

标签: javascript node.js selenium-webdriver selenium-chromedriver

我已登录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字典传递给该函数,但仍然无法正常工作。

有什么想法吗?

0 个答案:

没有答案