【问题标题】:Puppeteer Function to PuppeteerSharpPuppeteerSharp 的 Puppeteer 函数
【发布时间】:2021-08-25 20:43:28
【问题描述】:

我是 puppeteersharp 和 puppeteer 的新手。 我正在尝试将 puppeteer 中使用的函数转换为 puppeteerSharp,我想知道该怎么做。 这是puppeteer函数(这个向下滚动到页面末尾):

async function autoScroll(page){
await page.evaluate(async () => {
    await new Promise((resolve, reject) => {
        var totalHeight = 0;
        var distance = 100;
        var timer = setInterval(() => {
            var scrollHeight = document.body.scrollHeight;
            window.scrollBy(0, distance);
            totalHeight += distance;

            if(totalHeight >= scrollHeight){
                clearInterval(timer);
                resolve();
            }
        }, 100);
    });
});

任何人都可以告诉我如何使它与 puppeteerSharp 一起工作? 亲切的问候

【问题讨论】:

    标签: puppeteer puppeteer-sharp


    【解决方案1】:

    您可以调用EvaluateFunctionAsync 并将该函数作为string 传递。

    await page.EvaluateFunctionAsync(@"async () => {
        await new Promise((resolve, reject) => {
            var totalHeight = 0;
            var distance = 100;
            var timer = setInterval(() => {
                var scrollHeight = document.body.scrollHeight;
                window.scrollBy(0, distance);
                totalHeight += distance;
    
                if(totalHeight >= scrollHeight){
                    clearInterval(timer);
                    resolve();
                }
            }, 100);
        });
    }");
    

    【讨论】:

    • 感谢您的回答,它对我有用。我应该猜到了。
    • 另外我想问你是否有await page.addStyleTag({ content: '@page { size: auto; }', })的等价物
    • @HarimandaJerrysRandriamire 是的 :) puppeteersharp.com/api/…
    • 我使用了await page.AddStyleTagAsync(new AddTagOptions { Content= "@page { size: auto; }" });,但是@page 没有注入到页面的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    相关资源
    最近更新 更多