使用selenium获取招聘网站5k到10k计算机相关的岗位,要求使用xpath和下拉框
时间: 2024-06-08 12:08:55 浏览: 92
下面是使用 Python 和 Selenium 获取招聘网站5k到10k计算机相关岗位的示例代码:
```python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.common.exceptions import TimeoutException
# 打开浏览器
driver = webdriver.Chrome()
# 进入招聘网站
driver.get('https://www.zhipin.com/')
# 输入搜索关键词 "计算机"
search_box = driver.find_element_by_name('query')
search_box.send_keys('计算机')
search_box.send_keys(Keys.RETURN)
# 筛选薪资为 5k-10k
salary_filter = driver.find_element_by_xpath('//div[@class="job-menu"]/a[@data-filter="salary"]/span')
salary_filter.click()
salary_range = driver.find_element_by_xpath('//div[@class="job-menu-sub"]/div[@class="salary-menu"]/form/ul/li[3]')
salary_range.click()
# 等待页面加载完成
try:
element_present = EC.presence_of_element_located((By.XPATH, '//div[@class="job-list"]'))
WebDriverWait(driver, 10).until(element_present)
except TimeoutException:
print("页面加载超时")
# 获取所有符合条件的职位
job_list = driver.find_elements_by_xpath('//div[@class="job-list"]/ul/li')
# 遍历职位列表,输出职位名称和公司名称
for job in job_list:
job_title = job.find_element_by_class_name('job-title').text
company_name = job.find_element_by_class_name('company-text').text
print(job_title, company_name)
# 关闭浏览器
driver.quit()
```
在这个示例中,我们先打开了 Chrome 浏览器并进入了招聘网站。然后,我们通过 `find_element_by_name` 方法找到了搜索框并输入了关键词 "计算机"。接着,我们使用 `find_element_by_xpath` 方法找到了筛选薪资的下拉框并选择了薪资范围为 5k-10k。为了确保页面加载完成,我们使用了 `WebDriverWait` 方法等待页面上的职位列表出现。最后,我们使用 `find_elements_by_xpath` 方法获取了所有符合条件的职位,并遍历输出了每个职位的名称和公司名称。
阅读全文