木偶无法进入iframe

时间:2019-12-11 19:48:24

标签: javascript iframe puppeteer

我在尝试进入iframe时费了好几个小时,但由于某种原因我无法在此框中输入内容。 HTML不在页面上或iframe中显示输入,这是我尝试的代码,虽然与输入框最接近,但并不是很准确。这是我尝试进入的HTML的一部分。 inspect from Chrome

这是我正在使用的代码

const iframeHandle =等待页面。$$('iframe');

const contentFrame =等待iframeHandle [2] .contentFrame();

const tester =等待contentFrame。$$('#rte');

当我跑步

console.log(tester.length);

我得到1,所以我要进入iframe,但到目前为止我不知道如何在其中输入内容,我只能看到其中的一个空

标记

也许我只是缺少一些小东西,将不胜感激

2 个答案:

答案 0 :(得分:0)

您可以利用frame通话。

所以从您的代码中

const iframeHandle = await page.$$('iframe');
await this.browser.frame(iframeHandle);

或者类似的东西,根据您的代码,您应该会进入该iframe。

答案 1 :(得分:0)

尝试专注于输入并输入

const cardElement = await paymentFrame.$('#cardNumber');

// Input is focused.
await cardElement.focus();

这应该可以工作

const frames = await page.frames();
  let iframe = frames.find(f => f.name() === 'any_iframe');
  const textInput = await iframe.$('#textInput');
  textInput.click(); // this focusses on the element
  textInput.type('description text');