この記事はPuppeteerによって自動投稿されました

More than 1 year has passed since last update.


あらすじ

そうだ、PuppeteerでQiitaに自動投稿しよう。


Puppeteerのソースコード

const puppeteer = require('puppeteer')

const devices = require('puppeteer/DeviceDescriptors')
const input = {
id: 'xxxxx',
pass: 'xxxxx',
title: 'この記事はPuppeteerによって自動投稿されました',
tag: 'JavaScript Node.js puppeteer',
body: '# あらすじ\nそうだ(以下略)'
}

;(async () => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('https://qiita.com')
await page.waitFor('footer')
await page.type('#identity', input.id)
await page.type('#password', input.pass)
await page.click('input[value="ログイン"]')
await page.waitFor('.st-Header')
await page.goto('https://qiita.com/drafts/new')
await page.waitFor('.publicEditor')
await page.type('input[name="draft_item[title]"]', input.title)
await page.type('input[name="draft_item[tag_notation]"]', input.tag)
await page.type('.editorMarkdown_textarea', input.body)
await page.click('.editorSubmit')
await page.waitFor(1000)
await page.click('.modal-body .creatingModal_terms label')
await page.click('.modal-body .creatingModal_footer .btn-primary')
await page.waitFor(3000)
await browser.close()
})()


おわりに

普通に人が書いた方が早いですが、ロマンがあります。楽しい。