nicolomantini / LinkedIn-Easy-Apply-Bot

Automate the application process on LinkedIn
Apache License 2.0
765 stars 321 forks source link

Request for inputting experience and check box's #109

Closed xMacJ closed 1 year ago

xMacJ commented 1 year ago

This script has been working great. However, it's leaving a lot of jobs on the table simply because it doesn't know how to handle prompt questions. These questions may be required to complete the job posting; if they're not completed, the bot skips the job and moves on to the next. Is there a way to add additional functionality to complete the required questions and prompts?

ZaneBaylon commented 1 year ago

I actually figured out a way to do this! It's very long-winded though, I can for sure see why the original dev didn't even dare. After months of debugging I can confidently say my version applies to around 85% of all applications it finds. It's very satisfying watching Selenium bust around a question sheet inputting answers haha.

I'm not super savvy with github, but if you're interested reach out and I'd love to chat about it!

xMacJ commented 1 year ago

@ZaneBaylon Please feel free to share more 😨

ZaneBaylon commented 1 year ago

I should preface by saying if you're not a dev, or at least are familiar with how Selenium and Xpaths work, it will be very difficult to get this to work properly. Because you have to account for every question, it will vary depending on your industry and ofc, what answers you want it to submit. There's no clean solution like with what's listed on the .yaml file.

That being said, the way I did it was by making a nested list with all my question keywords and all answer inputs. You can have as many or as few as you like, but obviously the more the better. I then feed this into an engine that writes snippets of Selenium code by pulling data from the nested list into pre-written strings.

Selenium will find the question by parsing through the text nodes (i.e. if you have "adult" or "18" as your keywords, it will find the question "Are you an adult?" or "Are you 18 or older?"). You then list all possible answers (i.e. "yes") and it will either type it in if it's a text/numeric input, or select the appropriate menu item.

Needless to say, this is slightly error-prone and tedious to have work consistently. I've gotten all the big kinks worked out but you'll still need to format every question you want it to answer. I would estimate that it still fails 15% of apps, and very slightly goofs another 5%. If this would still be useful to you, I can try to get a clean version posted for you to customize soon!

xMacJ commented 1 year ago

@ZaneBaylon That would be great!

mattmullins536 commented 1 year ago

@ZaneBaylon Any progress on that clean version? It's painfull seeing the bot find a perfectly fine job only to skip it because of a single checkbox that needs to be clicked

Demon-tk commented 1 year ago

@ZaneBaylon I'd be happy to help if your working off a fork, looking to do the same thing.

PH13 commented 1 year ago

If you input the answers manually most of the time the answers will save in chrome for future use.

github-actions[bot] commented 1 year ago

Stale issue message