diff --git a/changelog.md b/changelog.md index f2ae8845b..0efcd77ab 100644 --- a/changelog.md +++ b/changelog.md @@ -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.) diff --git a/source/app/linkedineasyapply.py b/source/app/linkedineasyapply.py index ce9e4be02..7cfdbcf2a 100644 --- a/source/app/linkedineasyapply.py +++ b/source/app/linkedineasyapply.py @@ -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 @@ -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() @@ -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' ] @@ -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) diff --git a/source/app/main.py b/source/app/main.py index da4db6feb..362072ca7 100644 --- a/source/app/main.py +++ b/source/app/main.py @@ -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() diff --git a/source/config.yaml b/source/config.yaml index 6eafd0ae0..57f03cc19 100644 --- a/source/config.yaml +++ b/source/config.yaml @@ -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. @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/source/dashboard.pbix b/source/dashboard.pbix index 7064446a7..795937b7e 100644 Binary files a/source/dashboard.pbix and b/source/dashboard.pbix differ