Amn*_*had 12 node.js playwright
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});
Run Code Online (Sandbox Code Playgroud)
我想在向 url 发送请求时添加假用户代理。但它不会添加假用户代理,而是使用默认用户代理。
the*_*ton 16
在puppeteer中,可以使用page.setUserAgent()应用自定义 UA 并page.setExtraHTTPHeaders()设置任何自定义标头的方法,在playwrightuserAgent中,您可以将自定义用户代理 ( ) 和标头 ( )设置extraHTTPHeaders为以下选项browser.newPage()或browser.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' })
Run Code Online (Sandbox Code Playgroud)
const page = await browser.newPage({
extraHTTPHeaders: {
'Cache-Control': 'no-cache'
}
})
Run Code Online (Sandbox Code Playgroud)
编辑:如果您使用它的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))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30931 次 |
| 最近记录: |