由于 ESPN 不提供 API,我尝试使用 Puppeteer 来抓取有关我的梦幻足球联赛的数据。但是,由于登录表单与 iframe 元素嵌套,我很难尝试使用 puppeteer 登录。我去了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。
3 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
等待 elementHandle.contentFrame() 为空:
const frame = await elementHandle.contentFrame();
添加回答
举报
0/150
提交
取消