我在尝试进入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,但到目前为止我不知道如何在其中输入内容,我只能看到其中的一个空
标记
也许我只是缺少一些小东西,将不胜感激
答案 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');