1

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

page.GetCookiesAsync();

但它返回:

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

我尝试过的其他方式:

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

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

4

1 回答 1

2

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这样做。

于 2020-09-26T10:27:50.607 回答