From 9e10c8cb8a29b360fa231b391e5ef007b2aec2a0 Mon Sep 17 00:00:00 2001 From: Akhil Swarop S <96727867+akhilswarop@users.noreply.github.com> Date: Sat, 2 Nov 2024 11:33:06 +0530 Subject: [PATCH] Refactor Selenium element location methods for compatibility - Updated deprecated `find_element_by_class_name` and `find_elements_by_class_name` methods to `find_element(By.CLASS_NAME, ...)` and `find_elements(By.CLASS_NAME, ...)` respectively. - Ensures compatibility with newer Selenium versions and aligns with current best practices. --- linkedin_scraper/job_search.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/linkedin_scraper/job_search.py b/linkedin_scraper/job_search.py index c77a5ed..e4bc54f 100644 --- a/linkedin_scraper/job_search.py +++ b/linkedin_scraper/job_search.py @@ -36,8 +36,8 @@ def scrape_job_card(self, base_element) -> Job: job_div = self.wait_for_element_to_load(name="job-card-list__title", base=base_element) job_title = job_div.text.strip() linkedin_url = job_div.get_attribute("href") - company = base_element.find_element_by_class_name("artdeco-entity-lockup__subtitle").text - location = base_element.find_element_by_class_name("job-card-container__metadata-wrapper").text + company = base_element.find_element(By.CLASS_NAME, "artdeco-entity-lockup__subtitle").text + location = base_element.find_element(By.CLASS_NAME, "job-card-container__metadata-wrapper").text job = Job(linkedin_url=linkedin_url, job_title=job_title, company=company, location=location, scrape=False, driver=self.driver) return job @@ -55,7 +55,7 @@ def scrape_logged_in(self, close_on_complete=True, scrape_recommended_jobs=True) if not area_name: continue area_results = [] - for job_posting in area.find_elements_by_class_name("jobs-job-board-list__item"): + for job_posting in area.find_elements(By.CLASS_NAME, "jobs-job-board-list__item"): job = self.scrape_job_card(job_posting) area_results.append(job) setattr(self, area_name, area_results)