-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Labels
Description
Full traceback:
Traceback (most recent call last):
File "C:\Users\Administrator\git\playwright_generator\ext\test.py", line 39, in <module>
asyncio.run(do_work())
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\base_events.py", line 642, in run_until_complete
return future.result()
File "C:\Users\Administrator\git\playwright_generator\ext\test.py", line 31, in do_work
page.on(event="request", f=log_request_obj.log_request)
File "C:\Users\Administrator\git\playwright_generator\venv\lib\site-packages\playwright\_impl\_async_base.py", line 71, in on
self._impl_obj.on(event, self._wrap_handler(f))
File "C:\Users\Administrator\git\playwright_generator\venv\lib\site-packages\playwright\_impl\_async_base.py", line 66, in _wrap_handler
return mapping.wrap_handler(handler)
File "C:\Users\Administrator\git\playwright_generator\venv\lib\site-packages\playwright\_impl\_impl_to_api_mapping.py", line 91, in wrap_handler
setattr(handler, INSTANCE_ATTR, wrapper)
AttributeError: 'method' object has no attribute '_pw_api_instance'
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x0000027E70C69B80>
Traceback (most recent call last):
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\proactor_events.py", line 116, in __del__
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\proactor_events.py", line 108, in close
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\base_events.py", line 746, in call_soon
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\base_events.py", line 510, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x0000027E70C66280>
Traceback (most recent call last):
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\base_subprocess.py", line 125, in __del__
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\base_subprocess.py", line 70, in __repr__
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\proactor_events.py", line 79, in __repr__
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x0000027E70C69B80>
Traceback (most recent call last):
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\proactor_events.py", line 116, in __del__
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\proactor_events.py", line 108, in close
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\base_events.py", line 746, in call_soon
File "C:\Users\Administrator\.pyenv\pyenv-win\versions\3.9.1\lib\asyncio\base_events.py", line 510, in _check_closed
RuntimeError: Event loop is closed
Snippet to reproduce:
import asyncio
from playwright.async_api import async_playwright
class LogRequest:
def __init__(self):
self.enabled = True
async def log_request(self, obj):
if not self.enabled:
return
request_details = {
'request': {
'method': obj.method,
'url': obj.url,
'headers': obj.headers,
'post_data_text': obj.post_data,
}
}
print(request_details)
async def do_work():
playwright = await async_playwright().start()
browser = await playwright.chromium.launch()
context = await browser.new_context(bypass_csp=True, ignore_https_errors=True)
page = await context.new_page()
log_request_obj = LogRequest()
page.on(event="request", f=log_request_obj.log_request)
await page.goto("http://whatsmyuseragent.org/")
await page.screenshot(path="example.png")
await browser.close()
await playwright.stop()
await asyncio.sleep(1)
asyncio.run(do_work())