Как взаимодействовать с iframe с помощью Xpath на драматурге
Я пытаюсь переключиться на iframe, чтобы заполнить поле. Iframe имеет динамический идентификатор, поэтому я не могу его использовать, у него есть класс и заголовок, которые я преобразовал в XPath. Однако при переключении на iframe я, похоже, не получаю ошибки, но когда он пытается заполнить, выдает ошибку. Вот мой код.
iframe1 = page.query_selector('xpath=//iframe[@title="payment"]').content_frame()
time.sleep(5)
iframe1.fill('//*[@id="cardCvc-input"]', '123')
Ошибка
Traceback (most recent call last):
File "C:\Python39\lib\threading.py", line 950, in _bootstrap_inner
self.run()
File "C:\Python39\lib\threading.py", line 888, in run
self._target(*self._args, **self._kwargs)
File "c:\Users\Owner\Desktop\Cheema AIO\snkrsplaywright.py", line 194, in main
frame_element_handle = page.query_selector('//iframe[@title="payment"]')
File "C:\Python39\lib\site-packages\playwright\sync_api\_generated.py", line 4920, in query_selector
self._sync(
File "C:\Python39\lib\site-packages\playwright\_impl\_sync_base.py", line 103, in _sync
return task.result()
File "C:\Python39\lib\site-packages\playwright\_impl\_page.py", line 346, in query_selector
return await self._main_frame.query_selector(selector)
File "C:\Python39\lib\site-packages\playwright\_impl\_frame.py", line 228, in query_selector
await self._channel.send("querySelector", dict(selector=selector))
File "C:\Python39\lib\site-packages\playwright\_impl\_connection.py", line 36, in send
return await self.inner_send(method, params, False)
File "C:\Python39\lib\site-packages\playwright\_impl\_connection.py", line 47, in inner_send
result = await callback.future
playwright._impl._api_types.Error: Execution context was destroyed, most likely because of a navigation.
1 ответ
Версия 1.22
iframe = page.frame_locator("YOUR_SELECTOR_HERE")