Skip to content

Instantly share code, notes, and snippets.

@chagel
Created July 26, 2018 22:30
Show Gist options
  • Save chagel/fb38789414bad8efaa9ffb2519a14726 to your computer and use it in GitHub Desktop.
Save chagel/fb38789414bad8efaa9ffb2519a14726 to your computer and use it in GitHub Desktop.
DRY DMV
const OFFICE_ID = "632" //santa clara, sanjose=516
const FIRST_NAME = ""
const LAST_NAME = ""
const PHONE_AREA = ""
const PHONE_PREFIX = ""
const PHONE_SUFFIX = ""
const { Chromeless } = require('chromeless')
async function run() {
const chromeless = new Chromeless()
const date = await chromeless
.goto("https://www.dmv.ca.gov/wasapp/foa/clear.do?goTo=officeVisit")
.evaluate((OFFICE_ID) => {
select = document.querySelector("select[name='officeId']")
select.value = OFFICE_ID
}, OFFICE_ID)
.click("#one_task")
//.click("#taskRID")
//.click("#taskCID")
.click("#taskVR")
.type(FIRST_NAME, 'input[name="firstName"]')
.type(LAST_NAME, 'input[name="lastName"]')
.type(PHONE_AREA, 'input[name="telArea"]')
.type(PHONE_PREFIX, 'input[name="telPrefix"]')
.type(PHONE_SUFFIX, 'input[name="telSuffix"]')
.click("input[type='submit']")
.wait('td[data-title="Appointment"]')
//.wait(10000000)
.evaluate(() => {
const time = document.querySelector("td[data-title='Appointment'] strong").innerText
return time
})
console.log(date)
await chromeless.end()
}
run().catch(console.error.bind(console))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment