首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >剧作家:"route.continue“在阻止跟踪脚本时偶尔会出错。

剧作家:"route.continue“在阻止跟踪脚本时偶尔会出错。
EN

Stack Overflow用户
提问于 2022-02-20 04:20:31
回答 1查看 396关注 0票数 0

我有一个综合监测测试一直运行良好。我添加了一些代码来阻止第三方广告跟踪和分析脚本,以加快测试(而不是倾斜分析),就像这里建议的那样:https://scrapingant.com/blog/block-requests-playwright

在每个测试的顶部,我得到了这样的信息:

代码语言:javascript
复制
await page.route('**/*', filterResources)

filterResources方法的定义如下:

代码语言:javascript
复制
const DOMAIN_EXCLUSIONS = [
    'connect.facebook.net',
    'px.ads.linkedin.com',
    [...]
]

module.exports = (route) => {
    let matches = DOMAIN_EXCLUSIONS.filter((domain) => {
        return route.request().url().startsWith('https://' + domain)
    })
    return matches.length ? route.abort() : route.continue()
}

现在偶尔会引发以下错误,并且测试失败:

代码语言:javascript
复制
route.continue: Target page, context or browser has been closed

这种情况可能每6-8次就发生一次。

这是因为页面在某些请求仍未执行时就会导航,因为剧作家认为页面已经完全加载了吗?我正在使用适当的等待,而且测试以前很好。

EN

回答 1

Stack Overflow用户

发布于 2022-02-22 08:36:06

我现在正在抓住并解决这个承诺,这个问题似乎不再发生了:

代码语言:javascript
复制
if (matches.length) {
    return route.abort()
}

return route.continue().catch(() => {})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71191351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档