Код прост
async def main(target, region="someplace"):
browser = await launch(headless=False)
page = await browser.newPage()
url = f'https://somesite/search?q={target}&r={region}'
await page.goto(url)
links = await page.xpath("//a[contains(@class,'link')]")
# len of links is ~50, each one is clickable
await links[2].click()
await links[3].click()
p = input()
asyncio.get_event_loop().run_until_complete(main("somesht"))
если я вызываю click () только по второму или первому элементу по отдельности - все идет хорошо, если я вызываю click () для любых двух элементов, я получаю ошибку
Traceback (most recent call last):
File "/Users/oleg/Documents/PP/someproject/test.py", line 24, in <module>
asyncio.get_event_loop().run_until_complete(main("somesht"))
File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 579, in run_until_complete
return future.result()
File "/Users/oleg/Documents/PP/someproject/test.py", line 14, in main
await links[3].click()
File "/Users/oleg/Documents/PP/someproject/venv/lib/python3.7/site-packages/pyppeteer/element_handle.py", line 168, in click
await self._scrollIntoViewIfNeeded()
File "/Users/oleg/Documents/PP/someproject/venv/lib/python3.7/site-packages/pyppeteer/element_handle.py", line 88, in _scrollIntoViewIfNeeded
}''', self)
File "/Users/oleg/Documents/PP/someproject/venv/lib/python3.7/site-packages/pyppeteer/execution_context.py", line 55, in evaluate
pageFunction, *args, force_expr=force_expr)
File "/Users/oleg/Documents/PP/someproject/venv/lib/python3.7/site-packages/pyppeteer/execution_context.py", line 109, in evaluateHandle
_rewriteError(e)
File "/Users/oleg/Documents/PP/someproject/venv/lib/python3.7/site-packages/pyppeteer/execution_context.py", line 239, in _rewriteError
raise error
File "/Users/oleg/Documents/PP/someproject/venv/lib/python3.7/site-packages/pyppeteer/execution_context.py", line 106, in evaluateHandle
'userGesture': True,
pyppeteer.errors.NetworkError: Protocol error Runtime.callFunctionOn: Target closed.
Цель - открыть каждую ссылку на отдельной странице и отправить страницу в другую функцию для обработки. Вопрос в том, что пойдет не так и как нажимать более одного раза на страницу