[英]Error generating PDF (blank or format error) - Playwright Python
语境:
描述错误
在某些特定情况下会出现此错误,通常是在直接或间接打开 pdf 预览页面时。
def test():
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False) _**#In this situation, with headless set to False, the blank pdf is issued, but when set to True, it is not possible to send it. Any suggestion?**_
context = browser.new_context()
page = context.new_page()
page.goto('https://nyc3.digitaloceanspaces.com/midia/wp-content/uploads/2023/01/4tmrioel-sample.pdf')
page.pdf(path='Test.pdf', format='A4')
test()
例如,在下面的代码片段中,生成的 pdf 是空的,空白的(屏幕截图是黑色的,没有任何内容)。 我注意到这个错误的发生是因为速度,所以我使用了睡眠库,因为 wait_for_load_state() 在这种情况下不起作用。 然而,新生成的 pdf 出现了错误的格式(这里是一张显示打印的附加图像,我隐藏了内容,但布局与黑色相同)
我的理论是,由于 chromium pdf 查看器摘要,页面会像这样生成。 所以,我试图在这段代码中禁用它:
def test():
from playwright.sync_api import sync_playwright
from time import sleep
with sync_playwright() as p:
# browser = p.chromium.launch(headless=False)
browser = p.chromium.launch_persistent_context(user_data_dir=r'C:\Users\pedro\AppData\Local\Temp\playwright_chromiumdev_profile-AidV4Q\Default', args=['--print-to-pdf', '--disable-extensions', '--print-to-pdf-no-header'], headless=False)
page = browser.new_page()
page.goto('https://nyc3.digitaloceanspaces.com/midia/wp-content/uploads/2023/01/4tmrioel-sample.pdf')
sleep(5)
page.pdf(path='test.pdf', format='A4')
input()
尽管如此,我仍无法解决问题。 详细信息:无法在 Headless 模式下运行这些代码,chromium 似乎正在自动化(使检测更容易)。 那么,有人能解决我的问题吗?
你无法管理,因为它在无头模式下是不允许的。 您可以在官方文档中阅读: https://playwright.dev/python/docs/api/class-page#page-goto
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.