- Utilized:
Typescript, Puppeteer, Chrome DevTools, XPath, JSON, Cookies Session
It can:
- Automatically click "Apply" and upload both "Resume" and "Cover Letter"
- Go to next page after done going through the list
- If it has trouble clicking submit button, it will opens a new tab with the jobs listing that it has trouble with, console log the link on terminal and save logs into a JSON file
- Remembers and save login sessions as cookie (So user don't have to keep logging in)
- Apply for 100++ jobs within minutes
5. To check if checkbox OR anything is "Checked/Existed" before executing. Will skip if its "Checked/Existed"
https://stackoverflow.com/a/18833267
Example:
let self_identity_disability = await page.$x(`//input[@id="67772ae36794100008ef69bccb3e00b4"][@aria-checked="false"]`)
if (self_identity_disability.length > 0) {
await self_identity_disability[0].focus()
await self_identity_disability[0].click()
}
PS: (You need to await ".focus" before ".click")
if (element instanceof ElementHandle)
9. Use XPath to find div locations (Works when querySelector doesnt work and showing ...is not a valid selector error)
- https://www.youtube.com/watch?v=27ILXN6Z7D0&t=1516s&ab_channel=CodingwithIndy (Time: 27:26 - 28:45)
- https://stackoverflow.com/questions/53564374/get-all-links-with-xpath-in-puppeteer-pausing-or-not-working/53568112#53568112
- https://stackoverflow.com/questions/63324784/get-attribute-values-matching-xpath