【发布时间】:2021-11-25 12:23:21
【问题描述】:
from playwright.sync_api import sync_playwright
url = "https://hls-js.netlify.app/demo/"
with sync_playwright() as p:
browser = p.chromium.launch(channel = "chrome")
page = browser.new_page()
page.on("response", lambda response: print(response.url) if (".m3u8" in response.url) else False)
page.goto(url)
page.wait_for_timeout(10*1000)
browser.close()
大家好,我需要在变量中传递“response.url”,以便在代码中进一步使用。我不想将 response.url 打印出来,我只想将该字符串保存在一个变量中。我该怎么做?
【问题讨论】:
-
如果您使用的是 python 3.8 或更高版本,这可能有效:stackoverflow.com/a/14617232/6389787
-
分配给事件的函数无法返回值 - 因此您可能必须将结果分配给全局变量,或者如果您想获取多个 url,则附加到全局列表。
-
也许更好的解决方案是将其余代码放在此函数中,然后您不必在函数外部返回值。
-
@AshokArora 不完全一样,确实这些解决方案不适合我的代码
标签: python function lambda playwright