如何在 Playwright 中添加自定义标题

2023-11-25

headers["user-agent"] = fakeUa();
  console.log(fakeUa())
  let firstReq = true;
    page.route('**/*', route => {
    const request = route.request()
    //console.log(request.url(), JSON.stringify(request.headers()));
    
    if("x-j3popqvx-a" in request.headers()){
        headers = request.headers();
        //console.log(headers);
        console.log("exiting");
        return;
    }
    else {
        console.log("in");
        return route.continue({headers: headers});
    }
  });
  let pageRes = await page.goto(url, {waitUntil: 'load', timeout: 0});

我想在向 url 发送请求时添加假用户代理。但它不会添加假用户代理,而是使用默认用户代理。


而在木偶师这是可能的page.setUserAgent()应用自定义 UA 的方法和page.setExtraHTTPHeaders()设置任何自定义标头,在剧作家您可以设置自定义用户代理(userAgent) 和标题 (extraHTTPHeaders)作为选项browser.newPage() or browser.newContext() like:

const page = await browser.newPage({ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36' })
const page = await browser.newPage({ 
  extraHTTPHeaders: { 
    'Cache-Control': 'no-cache' 
  } 
})

Edit:如果您将其与newContext()用法看起来像这样(确保设置userAgent在设置中newContext并且不在newPage!):

const context = await browser.newContext({ userAgent: 'hello' })
const page = await context.newPage()
// to check the UA:
console.log(await page.evaluate(() => navigator.userAgent))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Playwright 中添加自定义标题 的相关文章

  • 无论 Rosetta 如何,获取 M1 Mac 的真实架构

    我需要检索 Mac 的真实架构 无论该进程是否通过 Rosetta 运行 现在在 Node js 中 process arch回报x64并在外壳中 uname m回报x86 64 感谢 Ouroborus 这张纸条 https develo
  • Electron - 如何使用主进程和渲染进程

    此时 经过大量研究和谷歌搜索 我了解了 main 和 renderer 的作用 以及它们在 Electron 应用程序中的重要性 然而 我在这里向所有有知识的人发出我的请求 请给我一个机会clear解释如何在我的应用程序中具体实现这一点 我
  • 如何在Vue中提交表单,重定向到新路由并传递参数?

    我正在使用 Nuxt 和 Vue 我正在尝试提交表单 将用户重定向到包含提交的参数的新路由 发送 API 请求以获取一些数据 然后渲染该数据 我通过简单地将表单操作设置为新路径并手动将所有 URL 参数添加到 API 请求来实现此目的 首先
  • 如何使用 Node JS Puppeteer 在无头 chrome 请求中设置代理服务器

    我正在 chrome 上运行无头搜索请求 并且需要访问代理服务器 const puppeteer require puppeteer var url https www google com search q var keyword hot
  • ENOTEMPTY:目录不为空,重命名 '' -> '' (JavaScript + NPM + Ubuntu 服务器)

    好吧 我一直在为一个名为discord 的流行的类似Teamspeak 的程序制作一个机器人 我在 Ubuntu 服务器上运行机器人 并使用 NPM install 来安装各种模块 目前 该机器人的本地版本工作正常 但在 Ubuntu 上我
  • 当代理关闭并启动时,Node JS mqtt 客户端未收到订阅的消息

    我创建了一个 mqtt Node js 客户端 我的连接选项如下 mqttOptions clientId 100 keepAlive 1000 clean false reconnectPeriod 1000 will willMessa
  • 如何解决 fs.existsSync 不是函数

    在 NodeJS 中我有 const fs require fs if fs existsSync some path 但我收到错误 类型错误 fs existsSync 不是函数 经过一番搜索后 我读到了Webpack自带require哪
  • Mongo JSON 文档 -> JSON -> BSON

    我正在使用 Node js 构建一个使用 mongodb 的 Web 套接字服务器 我使用 node mongodb native 作为访问 mongodb 的库 当我对数据库中的对象调用 console log sys inspect i
  • 从 Angular Controller 调用节点函数的常用方法

    让我在这之前加上我是 Node Express 新手 我有一个 AngularJS 应用程序 它利用 Node JS 来管理 Azure Blob 需求 例如创建 Blob 容器 如下所示 function test containerNa
  • 如何停止中间件链?

    如果出现错误 如何正确结束中间件链 在我的代码中我有 if someProblem res status statuscode json message oops return 然而之后链中的中间件不断被调用 给我Can t set hea
  • 如何在单元测试运行中初始化全局变量?

    我知道全局变量不好 但我想使用一个 摘自 package json scripts start nodemon jobsServer js test cross env NODE ENV test node modules bin ista
  • Node 应用程序中的 process.env 未定义

    运行我的 Node 应用程序时node server js process env回报undefined 所以我无法访问任何环境变量 当我尝试将我的应用程序部署到Duostack http www duostack com Calling
  • Firebase 数据库 onWrite 的 Cloud Functions 触发两次

    您好 我正在开发一个通知系统 但我在删除已处理的通知数据时遇到问题 这onWrite事件侦听器被触发两次 从而产生两个通知 您能帮我找到解决方法 以便 onWrite 事件侦听器不应该被触发两次吗 删除已处理的数据很重要 exports s
  • Mongoose嵌入式文档更新

    我在嵌入式文档更新方面遇到问题 我定义的架构 var Talk new Schema title type String required true content type String required true date type D
  • 使用 knex.js 查询多个表

    我想渲染Expres js and knex js两个表仅使用一个 get 函数 以便在一个 HTML 模板中使用两个表中的数据 当我只查询一张表 学校或学生 但我不知道如何处理两张表时 它会起作用 有什么建议吗 app get schoo
  • 如何安全地存储和处理 JWT 密钥

    读完这篇文章后 JWT 什么是好的密钥 以及如何将其存储在 Node js Express 应用程序中 https stackoverflow com questions 30089604 jwt whats a good secret k
  • 在 for 循环内顺序执行 Promise

    我正在努力将两个承诺链接到一个循环中 以便第二个承诺在第一个承诺得到解决之前不会启动 我看到了一个减少的例子 还无法让它工作 如果我这样做 就像我现在所做的那样 代码会并行执行 就像这样 所有异步请求都会被触发 当然结果会很混乱 请看一下
  • var io = require('../..')(server) 做什么?

    我已经构建了该项目https github com Automattic socket io tree master examples chat https github com Automattic socket io tree mast
  • 如何获取与值匹配或存在于另一个表中的记录?

    我试图弄清楚在这种情况下如何获取所有任务 其中两个字段等于某个值或者它们存在于另一个表中 这是查询 SELECT TASKS task id TASKS task title TASKS task description TASKS tas
  • 是否可以为 NodeJS 应用程序设置基本 URL?

    我希望能够在同一域下托管多个 NodeJS 应用程序 而不使用子域 例如 google com reader 而不是 images google com 问题是我总是输入网址的第一部分 例如Express NodeJS 中的 reader

随机推荐