【问题标题】:Puppeteer sharp - how execute javascript function and return resultPuppeteer sharp - 如何执行 javascript 函数并返回结果
【发布时间】:2020-10-14 11:50:25
【问题描述】:

我正在尝试用 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(){
    }
}

【问题讨论】:

    标签: javascript puppeteer puppeteer-sharp


    【解决方案1】:

    如果EvaluateExpressionAsync 解析,则意味着loadPageData 返回了某种值。
    之后您可以尝试使用一些 Wait 操作。
    例如,WaitForSelector 中有一些选择器会告诉您该过程已完成。您还可以使用 WaitForFunction 传递一个 javascript 函数。在这种情况下,当该函数返回一个真实值时,任务将解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      • 1970-01-01
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      • 2015-06-05
      • 2011-11-07
      相关资源
      最近更新 更多