반응형

Crawling 3

[Puppeteer] iframe 클릭하기

const frameHandle = await page.$("iframe"); const frame = await frameHandle.contentFrame(); const input = await frame.$eval("input[name=input2]", ele => ele.value); 데이터를 자동으로 수집하거나 입력 또는 클릭 등의 수행을 하기 위해서 주로 puppeteer를 사용합니다. 기존 글에서 puppeteer에 대해서 다룬 글들이 있으니 참고하셔도 좋습니다. 2022.10.03 - [개발 창고/NodeJS] - [Puppeteer] Element Exists [Puppeteer] Element Exists // 아이템 체크 let exists = false; try { // 현재 se..

[Puppeteer] Element Exists

// 아이템 체크 let exists = false; try { // 현재 selector >> "#gnb .group_nav .list_nav .nav_item" exists = await page.$eval("#gnb .group_nav .list_nav .nav_item", ele => ele?true:false); }catch (e){ // 에러 처리 console.log(e); } puppeteer를 사용하다 보면 유효성 검사를 위해 해당 element가 있는지 확인해봐야 하는 경우가 있습니다. 만약 위와 같이 네이버 메인의 GNB 첫 번째 항목을 클릭 하는 puppeteer를 생성하려고 합니다. 그런데 만약, 네이버가 메인화면 개편을 하여, 해당 항목으로 가는 selector의 정보가 변경되면..

[Puppeteer] 현재 페이지 URL 가져오기

puppeteer에서 현재 페이지를 가져오려면 page.url() 을 쓰면 됩니다. const puppeteer = require('puppeteer'); (async function main() { try { const browser = await puppeteer.launch({ headless : false, executablePath : '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', }); const page = await browser.newPage(); await page.goto('https://naver.com/'); console.log(page.url()); console.log(typeof page.url()); aw..

반응형