Поскольку ESPN не предоставляет API, я пытаюсь использовать Puppeteer для сбора данных о моей лиге фэнтези-футбола. Однако мне сложно войти в систему с помощью puppeteer из-за того, что форма входа вложена в элемент iframe.
Я перешел на http://www.espn.com/login и выбрал iframe. Кажется, я не могу выбрать какие-либо элементы в iframe, кроме основного раздела, выполнив
frame.$('.main')
Это код, который, похоже, получает iframe с формой входа в систему.
const browser = await puppeteer.launch({headless:false});
const page = await browser.newPage();
await page.goto('http://www.espn.com/login')
await page.waitForSelector("iframe");
const elementHandle = await page.$('div#disneyid-wrapper iframe');
const frame = await elementHandle.contentFrame();
await browser.close()
Я хочу иметь доступ к полю имени пользователя, полю пароля и кнопке входа в систему в элементе iframe. Всякий раз, когда я пытаюсь получить доступ к этим полям, я получаю значение null.