2017-10-02 14 views
7

Bir iframe içindeki bir formu doldurmam gerekiyor, burada sample page. page.focus() ve page.type() kullanarak erişemiyorum. Çalışıyor iframe formunu const formFrame = page.mainFrame().childFrames()[0] kullanarak çalıştı, ancak gerçekten iframe form ile etkileşimde bulunamıyorum. Bunun yerine iFrame ve türü içine girmek için nasıl bulmaktanKuklacı - Bir iframe içindeki form nasıl doldurulur?

+0

olduğunu Sorunu göremezsek size yardımcı oluruz. –

+0

http://www.goodmanmfg.com/product-registration İşte web sitesi. Bu web sitesini otomatik doldurmak ve otomatik olarak çok sayıda seri numarası kaydetmek istiyorum. – Raza

+0

Sayfanın çok ağır, yaklaşık 6.6 MB. Hangi kuklacı sürümünü kullanıyorsunuz? –

cevap

5

, ben doğrudan yukarıdaki URL'ye gidin ve otomatik hale deneyin doğrudan

https://warranty.goodmanmfg.com/registration/NewRegistration/NewRegistration.aspx?Sender=Goodman

Senaryonu olun IFrame URL'ye giderek sorunu basitleştirmek olur bu

Düzenleme-1 çalışması gerekir: basit yaklaşım sizin için işe yaramadı beri kullanılması çerçeveleri

, biz inci ile bunu E çerçeveleri kendisi Aşağıda

başlamanıza yardımcı olmalıdır basit script

const puppeteer = require('puppeteer'); 
(async() => { 
    const browser = await puppeteer.launch({headless: false}); 
    const page = await browser.newPage(); 
    await page.goto('http://www.goodmanmfg.com/product-registration', {timeout: 80000}); 
    var frames = await page.frames(); 
    var myframe = frames.find(
     f => 
      f.url().indexOf("NewRegistration") > 0); 
    const serialNumber = await myframe.$("#MainContent_SerNumText"); 
    await serialNumber.type("12345"); 

    await page.screenshot({path: 'example.png'}); 

    await browser.close(); 
})(); 

çıkış sayfası bakalım gibi diğer olamaz düşünün lütfen ne

Type serial

+0

Bunu denedim. Ancak bir sonraki sayfada iframe ve ana çerçeve ile etkileşime giriyorsunuz. – Raza

+0

@Raza, lütfen cevabı düzenle –

+0

@Raza, bu konudaki herhangi bir güncellemeyi deneyin. –

İlgili konular