我想使用 playwright-python 自动填写一些表格。然后在提交之前仔细检查填写内容。但它总是在代码运行结束时关闭浏览器。即使我使用了handleSIGHUP=False, handleSIGINT=False, handleSIGTERM=False
启动参数,并且没有使用任何page.close()
or browser.close()
在我的代码中,代码完成后它仍然关闭浏览器。
有谁知道该怎么做?
浏览器是由python脚本启动的,所以当脚本结束时浏览器也会结束。
所以你需要让脚本保持活力。对于异步部分来说有点棘手。
我假设你有同样的:asyncio.get_event_loop().run_until_complete(main()
)
因此,在异步主例程中,您需要保持异步循环运行:
例如等待键盘:
import asyncio
from playwright.async_api import async_playwright
from playwright.async_api import Page
async with async_playwright() as p:
async def main(run_forever: bool):
browser = await p.__getattribute__(C.BROWSER.browser).launch(headless=False, timeout=10000)
page = await browser.new_page()
if run_forever:
print('Press CTRL-D to stop')
reader = asyncio.StreamReader()
pipe = sys.stdin
loop = asyncio.get_event_loop()
await loop.connect_read_pipe(lambda: asyncio.StreamReaderProtocol(reader), pipe)
async for line in reader:
print(f'Got: {line.decode()!r}')
else:
browser.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)