繁体   English   中英

PuppeteerSharp - 如何执行javascript函数并返回结果

[英]Puppeteer sharp - how execute javascript function and return result

我正在尝试使用 Puppeteer 进行几次测试,但这是我第一次使用它,而且我的语法不是很清楚。

我必须打开服务器上的页面,然后运行我定义的 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(){
    }
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM