当前位置: 首页 > 知识库问答 >
问题:

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

颜举
2023-03-14
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发送请求时添加假用户代理。但它并没有添加假useragent,而是使用默认的useragent。

共有1个答案

魏泰
2023-03-14

在Puppeter中,可以使用page.setUserAgent()方法应用自定义UA和page.setExtraHTTPHeaders()设置任何自定义标题,在playwright中,可以将自定义用户代理(userAgent)和标题(extraHTTPHeaders)设置为browser.newPage()的选项浏览器.newContext()类似:

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' })

编辑:如果您将其与newContext()一起使用,用法如下(请确保在newContext的设置中设置userAgent,而不是在newPage!):

const context = await browser.newContext({ userAgent: 'hello' })
const page = await context.newPage()
// to check the UA:
console.log(await page.evaluate(() => navigator.userAgent))
 类似资料:
  • 问题内容: 我正在使用Twitter Bootstrap添加图标,没有问题。他们有很多选择。 http://twitter.github.com/bootstrap/base- css.html#icons 但是,我找不到菜单项之一的适当图标。关于“汽车”。我想要的是我想添加我的自定义图标。我怎样才能做到这一点? 问题答案: 您可以通过在自己的类(如)中定义图标来创建自己的图标: 当然要记住使用前

  • 是否有一个时间格式来指定这样的日期序列到轴在D3和v4?

  • 我是Perl 6的新手。我的Atom编辑器中有以下代码,但我仍然不明白这是如何工作的。正如docs.raku.org所说,我复制了以下代码,但似乎不起作用。所以我将代码更改为: 输出为: 我知道它是有效的,但是docs.raku.org中的文档与此有点不同,它在第7行的AT-KEY方法之前没有“自”。有没有更详细的例子?

  • 我正在为Wordpress中的Elementor编辑器开发一个自定义小部件。 我想设置自定义小部件图标,Elementor提供了get_ICON函数,我们必须返回类,该类包含:before伪元素,并在浏览器中呈现。 是否有任何方法可以使用png或任何其他格式将图标更新到Elementor小部件。 甚至我也试着用内容为空和背景图像的类。它不起作用了。 在Elementor中创建自定义小部件的文档:h

  • 我使用Dropwizard Metrics library记录我的应用程序中各种操作的时间,使用计时器和控制台报告器,并将计数、平均速率等记录到控制台fine。 我希望这些数字也可以在 /metricsservlet上使用,并且基于http://metrics.dropwizard.io/3.1.0/manual/servlets/我需要访问名为的Metric注册表。但是查看文档和代码,我看不到是

  • 所以我想在我的android应用程序中添加自定义视图标记,我从API请求中获取坐标,我想在各自的标记上显示位置的徽标。我正在从同一个API请求获取标记的URL。此外,我希望所有标记都是单个符号层的一部分,因为我也想对这些标记进行聚类。图片来源:谷歌图片搜索。