如何从Puppeteer Chrome会话C#中获取Cookie?

问题描述

我需要从puppeteer chrome会话中获取特定网站的cookie,并将这些cookie添加到脚本中。这是我要获取表单页面中cookie的代码

page.GetCookiesAsync();

但是它返回:

Id = 7315,状态= WaitingForActivation,方法=“ {null}”,结果=“ {尚未计算}”

我尝试过的其他方式:

page.Client.SendAsync("Network.getAllCookies");

这两种方法都不适合我。 我在做什么错了?

解决方法

需要等待GetCookiesAsync的执行,如下所示:

private async Task YourMethod()
{ 
    var result = await page.GetCookiesAsync();
}

您可能需要为此更改呼叫者。

尝试阅读有关C#异步编程的信息:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/


所以您看到的是这样:

Id = 7315,状态= WaitingForActivation,方法=“ {null}”,结果=“ {尚未计算}”

是异步任务尚未完成。 GetCookiesAsync立即返回。如果要等待结果,则await

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...