Кукловод: не может получить доступ к элементам iframe после обновления с 2.1 до 3.1 со встроенным firefox - PullRequest
1 голос
/ 28 мая 2020

Недавно я обновил свою версию кукольника с 2.1 до 3.1. Я использовал pupeteer- firefox в предыдущей версии. И теперь, когда у pupeteer 3.1 встроено firefox, я использую это. Но это всего лишь экспериментальная функция от pupeteer.

Этот код корректно работал с предыдущей версией.

        const elementHandle = await page.$("iframe[src^=\"https://docs.google.com/picker\"] [id=\":7\"]")
        await elementHandle.click()

Шаги для воспроизведения

Теперь откроется окно iframe. Мне нужно щелкнуть элемент с id=":7" внутри iframe и ввести URL-адрес изображения. Кто-нибудь может мне помочь?

Ответы [ 2 ]

1 голос
/ 02 июня 2020

Это официальный результат теста кукловода firefox.

https://hg.mozilla.org/mozilla-central/file/tip/remote/puppeteer-expected.json

Каждый тест против iframe равен FAIL или SKIP.

И Google не будет поддерживать firefox внутри кукловода.

Итак, я пришел к выводу, что невозможно получить доступ к iframe с помощью кукловода, особенно когда межсайтовый скриптинг запрещен.

Я отказался от кукольника и начал пользоваться драматургом от Microsoft. И все идет хорошо.

0 голосов
/ 11 августа 2020

Обратите внимание, что Google не работает над поддержкой Puppeteer в Firefox. И как вы сами уже сказали, поддержка Firefox сейчас находится в экспериментальной стадии. Тем не менее, мы прилагаем все усилия, чтобы добавить лучшую поддержку различных функций и API, но это не та задача, которую можно выполнить в течение недели.

Что касается вашего вопроса, я могу сказать, что я добавил поддержку iframe для В последнее время много API-интерфейсов, и все это теперь доступно в Firefox 79.

Также обратите внимание, что Playwright использует модифицированную и неофициальную сборку Firefox на основе недавней Firefox бета-версии.

...