This project is an automation solution for tracking my job applications on LinkedIn using Java, Gradle, Cucumber and Google Sheets API. You can use for tracking your job applications, just follow the instructions.
I am currently looking for a new job and I want to keep track of all the applications I send on LinkedIn. I used to enter the details of each application manually on a Google Sheets document, but I found this process tedious and time-consuming. Therefore, I decided to create an automation program that can fill in the Google Sheets document for me based on the information I provide on LinkedIn.
To run this project on your computer, you need to have the following:
- Java
- Gradle
- Cucumber
- A Google account
- A Google Sheets document with the following headers: Job Title, Company Name, Location, Date Applied, Status, Link
- Webdriver goes to the Linkedin account and logs in by entering the account details
- Clicks on the Jobs button and then My jobs button and opens the page of the job posts applied for
- One by one, it looks at the job advertisements on all the pages, takes the names of the companies and makes a listü
- In the meantime, it queries the jobs previously entered in excel with the Google Sheets API with the get method, extracts a list from it and compares these two lists
- If there are new postings, it goes back one by one to the job boards and tries to find them, but if there are no new postings, it prints all the company names it gets from Linkedin and API
- When it finds job post, it clicks on the post, get the necessary information and put it into the sheets document with API.
- Repeats this process for all remaining job posts
I have to mention that, this is just a demo project. You can encounter with a lot of different types of error when you wanna run this.
-
First of all to run this project just use feature file. Because I haven't use Gradle before and I think there is some mistake about it and I can't run this project with Runners class. So if you have a solution please tell me :)
-
You can encounter with different Linkedin account enterence page, if so close the driver and run again the feature. Like the picture below. This is a authwall page, It doesn't appear every time you want to log in.
-
Some company names can cause problems, if so you can add one if else in step definition to say the program skip this company name.
-
As I mentioned before this is a demo project, so don't trust that much this program and always take your list to different sheet physically.
-
I always try to run with ChromeDriver, so if you try to run with other browsers I don't know what you might encounter.
-
I have tried to write detailed steps on how you can run the project below. If you have any problems with these steps, feel free to contact me. If you can't find way to do those steps, I helped from this videos maybe it helps you to:
- You can download the zip file from the Code button or you can clone the project link to your IDE.
https://github.com/quatronostro/com.LinkedinProject.git-
You must create your own Google Sheets document and copy the headers from the image below. The program will write the data according to these headers, so make sure they match exactly. You can make changes to the code later if you want to use different headers.

-
You must also enable the Google Sheets API for your Google account and create a project with OAuth consent. Follow these steps:
- Go to this link and log in with your Google account. Then create a new project and give it any name you want:
- https://console.cloud.google.com/projectcreate
- Click "APIs & Services" button on the left menu.
- Click "ENABLE APIS AND SERVICES" button.
- Search for Google Sheets API or scroll down until you find it and click it.
- Click "Enable" button.
- Click "Oauth consent screen" button on the left menu.
- Click "External" then "Create".
- On the App Information page, enter "App name", "User support email" and "Developer contact information". You can use any name you want and your Gmail address for both email fields.
- In Scopes tab, click "ADD OR REMOVE SCOPES" button.
- On the right screen enter in filter box "Google Sheets API" then click all APIs like on the picture. After that click "Update" button.
- Then click "SAVE AND CONTINUE" button on the buttom
- In the Test users tab, click "+ ADD USERS" button than add yourself(I mean your gmail address again)
- Then click "SAVE AND CONTINUE" button on the buttom
- DONE!
-
Now you have to create credentials for your project.
- On same page click the "Credentials" button on the left menu.
- Now first click "+ CREATE CREDENTIALS` on the header than choose "Oauth client ID".
- Application type is going to be a simple "Desktop app" and again you can give a name whatever you want. Then click "Create" button.
- DONE! Now you can see the credentials. As for the last step Download Json file on your desktop. You will see credential.json file on your desktop. (I didn't add this file on this repo because every credential file is unique like API key.)
-
Open this project codes on your computer than drag and drop the credential.json file on the desktop into the resources folder inside the project. It should look like this:
-
Open configuration.properties file and enter your informations.
- You can find your Google Sheet ID in the link of your sheet. After the d/
- Also you can find your sheet name at the buttom of the page
- To give a range you have to use A1 notation, you can find more information about A1 notation in here
- Example: Sheet1!A1:B2
YOU ARE READY TO GO!!!
When you try to run first time, you will encounter with Google page that wants to you verify that is you and continue your task. Just choose your google account and click Continue.
If you have any feedback on the project, please contact me at berke.bar@hotmail.com.


















