oon*_*dwi 10 python playwright playwright-python
我想使用 Playwright 打开一个网站,但不希望被自动重定向。
在其他一些 Web 客户端中,它们具有参数链接follow=False
以在重定向后自动禁用。但我在剧作家上找不到。
async def run(playwright):
chromium = playwright.chromium
browser = await chromium.launch()
context = await browser.new_context()
page = await context.new_page()
def handle_response(response):
print(f'status: {response.status} {response.url}')
page.on('response', handle_response)
await page.goto("https://google.com")
await browser.close()
Run Code Online (Sandbox Code Playgroud)
这是示例代码,我们知道 google.com 会响应 301 并将重定向到www.google.com。是否可以在收到 301 后停止该过程,这样我就不需要继续处理www.google.com以及此后的所有响应?
从请求文档中,我得到了Page.on('response')
当/如果收到请求的响应状态和标头时发出的信息。
但是当Page on('response')回调后如何停止Request呢?我看到其他一些类似的问题,使用 Route.abort() 或 Route.fulfill(),但我仍然没有得到我的案例的答案。
感谢您的帮助。
正如v1.26中介绍的,可以在 get 请求中使用maxRedirects可选参数。
这提供了将自动遵循的请求重定向的最大数量。如果超过数量将会抛出错误。默认为 20。传递 0 表示不遵循重定向。
参考:
https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-get-option-max-redirects
https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-get-option-max-redirects
https://github.com/microsoft/playwright/pull/17033
https://github.com/microsoft/playwright/issues/12911
归档时间: |
|
查看次数: |
5858 次 |
最近记录: |