Upgrade to Pro — share decks privately, control downloads, hide ads and more …

puppeteer序盤あるある

cpp0302
April 23, 2019

 puppeteer序盤あるある

cpp0302

April 23, 2019
Tweet

More Decks by cpp0302

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ   ໊લɿ੉ށ හจ  ॴଐɿBOEGBDUPSZגࣜձࣾ  ৬छɿαʔόαΠυΤϯδχΞ 

    ΞϓϦͷόοΫΤϯυ  ࣾ಺޲͚γεςϜͷߏங  ࠷ۙ࢖͍ͬͯΔݴޠ  /PEFKTɿ೥  1)1ɿϲ݄  (Pݴޠɿϲ݄  WVFKTɿϲ݄ (JU)VCɿDQQ 2JJUBɿDQQ 5XJUUFSɿ!DQQ@
  2. QVQQFUFFSͱ͸ʁ  const puppeteer = require('puppeteer'); (async() => { const

    browser = await puppeteer.launch({ args: [ '--no-sandbox’, '--disable-setuid-sandbox’, ], }); const page = await browser.newPage(); await page.goto('https://www.google.com/search?q=puppeteer'); const title = await page.evaluate(() => { return document.querySelector('h3').innerText; }); console.log(title); browser.close(); })()
  3. BTZOD BXBJU   QVQQFUFFSͰͷ$ISPNFૢ࡞͸ඇಉظ  1SPNJTFܗࣜͰฦ͞ΕΔ const puppeteer =

    require('puppeteer'); (async() => { const browser = await puppeteer.launch({ args: [ '--no-sandbox’, '--disable-setuid-sandbox’, ], }); const page = await browser.newPage(); await page.goto('https://www.google.com/search?q=puppeteer'); const title = await page.evaluate(() => { return document.querySelector('h3').innerText; }); console.log(title); browser.close(); })()
  4. BTZOD BXBJU   QVQQFUFFSͰͷ$ISPNFૢ࡞͸ඇಉظ  1SPNJTFܗࣜͰฦ͞ΕΔ const puppeteer =

    require('puppeteer'); (async() => { const browser = await puppeteer.launch({ args: [ '--no-sandbox’, '--disable-setuid-sandbox’, ], }); const page = await browser.newPage(); await page.goto('https://www.google.com/search?q=puppeteer'); const title = await page.evaluate(() => { return document.querySelector('h3').innerText; }); console.log(title); browser.close(); })()
  5. const puppeteer = require('puppeteer'); (async() => { const browser =

    await puppeteer.launch({ args: [ '--no-sandbox’, '--disable-setuid-sandbox’, ], }); const page = browser.newPage(); await page.goto('https://www.google.com/search?q=puppeteer'); const title = await page.evaluate(() => { return document.querySelector('h3').innerText; }); console.log(title); browser.close(); })() BTZOD BXBJU   QVQQFUFFSͰͷ$ISPNFૢ࡞͸ඇಉظ  1SPNJTFܗࣜͰฦ͞ΕΔ await入れ忘れる
  6. σʔλड͚౉͠  const puppeteer = require('puppeteer'); (async() => { const

    browser = await puppeteer.launch({ args: [ '--no-sandbox’, '--disable-setuid-sandbox’, ], }); const page = await browser.newPage(); const url = 'https://www.google.com/search?q=puppeteer’; await page.goto(url); const tagName = 'h3’; const title = await page.evaluate(() => { return document.querySelector(tagName).innerText; }); console.log(title); browser.close(); })() evaluate内でtagName 使えるのでは?
  7. DPOTPMFMPH  const puppeteer = require('puppeteer'); (async() => { const

    browser = await puppeteer.launch({ args: [ '--no-sandbox’, '--disable-setuid-sandbox’, ], }); const page = await browser.newPage(); const url = 'https://www.google.com/search?q=puppeteer’; await page.goto(url); const tagName = 'h3’; const title = await page.evaluate(() => { console.log(‘test’); return document.querySelector(tagName).innerText; }); console.log(title); browser.close(); })() デバッグ用にevaluate内で console.log
  8. 

  9.  const puppeteer = require('puppeteer'); (async() => { const browser

    = await puppeteer.launch({ args: [ '--no-sandbox’, '--disable-setuid-sandbox’, ], }); const page = await browser.newPage(); const url = 'https://www.google.com/search?q=puppeteer’; await page.goto(url); const tagName = 'h3’; const title = await page.evaluate(() => { console.log('test’); return document.querySelector(tagName).innerText; }); console.log(title); browser.close(); })() Chrome内で実行される
  10. 

  11.  const puppeteer = require('puppeteer'); (async() => { const browser

    = await puppeteer.launch({ args: [ '--no-sandbox’, '--disable-setuid-sandbox’, ], }); const page = await browser.newPage(); const url = 'https://www.google.com/search?q=puppeteer’; await page.goto(url); const tagName = 'h3’; const title = await page.evaluate((name) => { return document.querySelector(name).innerText; }, tagName); console.log(title); browser.close(); })()
  12. 

  13. ·ͱΊ   QVQQFUFFSʹ͍ͭͯ؆୯ͳ঺հ  ং൫ͷͭ·ΓͲ͜Ζ  BTZOD BXBJU͚ͭ๨Ε໰୊ 

    FWBMVBUFʹσʔλΛड͚౉͢  FWBMVBUF಺ͰDPOTPMFMPHΛ࢖ͬͯ΋ίϯιʔϧʹ͸ग़ྗ͞ Εͳ͍