Puppeteer Sharp-如何执行JavaScript函数并返回结果

时间:2020-10-14 11:50:25

标签: javascript puppeteer puppeteer-sharp

我正在尝试使用Puppeteer Sharp进行几次测试,但这是我第一次使用它,语法还不太清楚。

我必须打开服务器上的页面,然后运行我定义的javascript函数(loadPageData('4',true)),该过程可能需要15分钟(在该页面上)。函数完成后,它将在该页面上填充一个div标签。我需要在执行和完成javascript函数之前,它不会传递给另一条指令,但是我不知道要使用的语法。你可以帮帮我吗?为了获得div resultDIV的内容,我必须做些什么?

部分代码:

using (var browser = await Puppeteer.LaunchAsync(options))
using (var page = await browser.NewPageAsync())
{
    await page.GoToAsync("http://.../mipagina.aspx");
    page.DefaultNavigationTimeout = 100000;
    try
    {
    string funcionEjecutar = "loadPageData('4', true)";
    var res = await page.EvaluateExpressionAsync(funcionEjecutar);
    //works but no wait to finish execution of the function
    }
    catch(){
    }
}

1 个答案:

答案 0 :(得分:0)

如果Microsoft SQL Server 2014 - 12.0.2000.8 (Intel X86) Feb 20 2014 19:20:46 Copyright (c) Microsoft Corporation Express Edition on Windows NT 6.3 <X64> (Build 9600: ) (WOW64) (Hypervisor) 解决,则意味着EvaluateExpressionAsync返回某种值。
之后,您可以尝试使用一些loadPageData操作。
例如,WaitForSelector中有一些选择器,它会告诉您该过程已完成。您还可以使用WaitForFunction传递javascript函数。在这种情况下,任务将在该函数返回真实值时解决。

相关问题