Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
# Change log #

### July 2024 update: ###
1. Fixed backend change by LinkedIn in job titles
2. Added more non-English error prompts
3. Added feature to log job location and search location in CSV logs
4. Enforced UTF-8 encoding for CSV logs to avoid encoding errors

### January 2024 update: ###
1. Bug fix to allow proper use of `Job Type` filter (e.g. full-time, contract, etc.)

Expand Down
16 changes: 12 additions & 4 deletions source/app/linkedineasyapply.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,11 @@ def apply_jobs(self, location):
job_title, company, poster, job_location, apply_method, link = "", "", "", "", "", ""

try:
job_title = job_tile.find_element(By.CLASS_NAME, 'job-card-list__title').text
# patch to incorporate new 'verification' crap by LinkedIn
# job_title = job_tile.find_element(By.CLASS_NAME, 'job-card-list__title').text # original code
job_title_element = job_tile.find_element(By.CLASS_NAME, 'job-card-list__title')
job_title = job_title_element.find_element(By.TAG_NAME, 'strong').text

link = job_tile.find_element(By.CLASS_NAME, 'job-card-list__title').get_attribute('href').split('?')[0]
except:
pass
Expand Down Expand Up @@ -221,7 +225,7 @@ def apply_jobs(self, location):
self.write_to_file(company, job_title, link, job_location, location)
except Exception:
print(
"Unable to save the job information in the file. The job title or company cannot contain special characters,")
f"Unable to save the job information in the file. The job title {job_title} or company {company} cannot contain special characters,")
traceback.print_exc()
except:
traceback.print_exc()
Expand Down Expand Up @@ -275,7 +279,11 @@ def apply_to_job(self):
'select checkbox to proceed',
'saisissez un numéro',
'请输入whole编号',
'请输入decimal编号',
'长度超过 0.0',
'Numéro de téléphone',
'Introduce un número de whole entre',
'Insira um um número',
'use the format'
]

Expand Down Expand Up @@ -850,11 +858,11 @@ def fill_up(self):
pass

def write_to_file(self, company, job_title, link, location, search_location):
to_write = [company, job_title, link, location, datetime.now()]
to_write = [company, job_title, link, location, search_location, datetime.now()]
# file_path = self.output_file_directory + self.file_name + search_location + ".csv"
file_path = self.file_name + search_location + ".csv"

with open(file_path, 'a') as f:
with open(file_path, 'a', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(to_write)

Expand Down
2 changes: 1 addition & 1 deletion source/app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def init_browser():
browser_options.add_argument(option)

service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=browser_options)
driver = webdriver.Chrome(service=service, options=browser_options,)
driver.implicitly_wait(1) # wait time in seconds to allow loading of elements
driver.set_window_position(0, 0)
driver.maximize_window()
Expand Down
45 changes: 24 additions & 21 deletions source/config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Add your LinkedIn email ID and password. WARNING: KEEP THIS OFFLINE ON YOUR PC AND DO NOT COMMIT/UPLOAD.
email: email@domain.com
password: yourpassword
email: tharun.esta@gmail.com
password: Tll212507@

# Anti-lock default is False to prevent your PC from sleeping to allow bot to run uninterrupted.
# Set it to True if you wish to disable this functionality.
Expand All @@ -13,7 +13,7 @@ remote: False
lessthanTenApplicants: False

# Set to True or False to suit your preference. Multiple True allowed.
experienceLevel:
experienceLevel: Fresher
internship: False
entry: True
associate: True
Expand All @@ -22,7 +22,7 @@ experienceLevel:
executive: False

# Set to True or False to suit your preference. Multiple True allowed.
jobTypes:
jobTypes: Software developer/ Frontend developer
full-time: True
contract: True
part-time: False
Expand All @@ -39,14 +39,17 @@ date:
24 hours: False

# Remove hash sign to add positions. You can add as many as you need, but preserve formatting
positions:
positions: Developer
#- First position
#- A second position
#- A third position
#- ...

# Remove hash sign to add locations. You can add as many as you need including adding 'Remote' as a location but first location must be a valid country.
locations:
locations: Hyderabad
Chennai
Banglore
pune
#- First location
#- A second location
#- A third location
Expand Down Expand Up @@ -132,9 +135,9 @@ salaryMinimum: 35000

# ------------ Additional parameters: languages ---------------
languages:
english: Native or bilingual # Allowed choices { None, Conversational, Professional, Native or bilingual }
# arabic:
# french:
english: Conversational # Allowed choices { None, Conversational, Professional, Native or bilingual }
telugu: Native
hindi: Conversational

# ------------ Additional parameters: noticePeriod in weeks ---------------
noticePeriod: 8
Expand Down Expand Up @@ -207,24 +210,24 @@ experience:

# ------------ Additional parameters: personal info ---------------
personalInfo:
Pronouns: Mr.
First Name: FirstName
Last Name: LastName
Phone Country Code: Canada (+1) # See Linkedin for your country code, must be exact according to the international platform, i.e. Italy (+39) not Italia (+39)
Mobile Phone Number: 1234567890
Street address: 123 Fake Street
City: Red Deer, Alberta # Include the state/province as well!
State: YourState
Zip: YourZip/Postal
Linkedin: https://www.linkedin.com/in/my-linkedin-profile
Pronouns: Mr. Tharun
First Name: Tharun
Last Name: Esta
Phone Country Code: India(+91) # See Linkedin for your country code, must be exact according to the international platform, i.e. Italy (+39) not Italia (+39)
Mobile Phone Number: 9014719422
Street address: mallampet
City: Hyderabad # Include the state/province as well!
State: Telangana
Zip: 502303
Linkedin: https://www.linkedin.com/in/tharun-esta
Website: https://www.my-website.com # github/website is interchangeable here
MessageToManager: "Hi, I am interested to join your organization. Please have a look at my resume. Thank you." # Keep message short and within the quotes. This is a testing feature and may not work.

# ------------ Additional parameters: USA employment crap ---------------
eeo:
gender: None
gender: Male
race: None
veteran: None
disability: None
disability: no
citizenship: yes
clearance: no
Binary file modified source/dashboard.pbix
Binary file not shown.