使用Python Playwright打印页面源代码

7
我有一个PHP脚本,我用这段代码通过URL参数调用Python函数:
import json
import sys
import urllib.parse
link = urllib.parse.unquote(sys.argv[1])
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
    browser = p.chromium.launch()
    context = browser.new_context(user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36')
    page = context.new_page()
    cookie_file = open('./cookies.json')
    cookies = json.load(cookie_file)
    print(cookies)
    context.add_cookies(cookies)
    page.goto(link)
    try:
        page.wait_for_timeout(10000)
        print(page.innerHTML("*"))
        page.close()
        context.close()
        browser.close()      
    except Exception as e:
        print("Error in playwright script.")
        page.close()
        context.close()
        browser.close()     

然而,当我想在访问页面后打印出页面源代码时,我收到了以下错误信息:

Error in playwright script.

因为我尝试过的代码无法正常工作:

print(page.innerHTML("*"))

需要帮忙吗?

1个回答

12
为了获取完整的HTML页面内容,您可以使用page.content()

我尝试了,但是我收到了这个<bound method Page.content of <Page url='www.url.com'>>。 - user15647143
@liol 请查看 https://dev59.com/BKbja4cB1Zd3GeqPjaRx#47210219 - hardkoded
使用 await page.content(),而不是仅仅使用同步的方式。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接