Selenium - 作业四
题目
登录 http://www.51job.com
点击高级搜索
输入搜索关键词: python
地区选择 :上海
职能类别选: 计算机/互联网/通信/电子 -> 测试 -> 所有
公司性质选: 上市公司
工作年限选: 1-3 年
搜索最新发布的职位, 抓取页面信息。 得到如下的格式化信息
Python开发工程师 | 上海纳帕科技有限公司 | 杭州 | 0.8-1.6万/月 | 04-27
Python高级开发工程师 | 上海科技咨询有限公司 | 杭州 | 1-1.5万/月 | 04-27
代码
点击查看代码
from selenium import webdriver
import time
wd = webdriver.Chrome(r'C:\Program Files\Google\Chrome\Application\chromedriver.exe')
wd.implicitly_wait(30)
wd.get('http://www.51job.com')
# 点击高级所搜
wd.find_element_by_css_selector('.top_wrap .more').click()
# 输入关键字python
wd.find_element_by_css_selector('.Fm .on input').send_keys('python')
# 选择城市
wd.find_element_by_css_selector('.Fm .on #work_position_input').click()
# 取消已选
wd.implicitly_wait(1)
selectedCity = wd.find_elements_by_css_selector(
'#work_position_click_center em[class=on]')
for one in selectedCity:
one.click()
# 选上海
wd.find_element_by_id('work_position_click_center_right_list_category_000000_020000').click()
# 保存选择
wd.find_element_by_id('work_position_click_bottom_save').click()
#点击一下页面其他地方
wd.find_element_by_css_selector('.tit').click()
# 职能类别选: 计算机/互联网/通信/电子 -> 测试 -> 所有
wd.find_element_by_id('funtype_click').click()
wd.find_element_by_id('funtype_click_center_left_each_0100').click()
wd.find_element_by_id('funtype_click_center_right_list_category_0100_2700').click()
wd.find_element_by_css_selector('#funtype_click_center_right_list_sub_category_0100_2700 span:nth-child(1)').click()
wd.find_element_by_id('funtype_click_bottom_save').click()
# 公司性质选: 上市公司
wd.find_element_by_id('cottype_list').click()
wd.find_element_by_css_selector('#cottype_list .ul span:nth-child(5)').click()
# wd.find_element_by_css_selector('#cottype_list span.li[data-value="10"]').click()
# 工作年限选: 1-3 年
wd.find_element_by_id('workyear_list').click()
wd.find_element_by_css_selector('#workyear_list span.li[data-value="02"]').click()
# 点击搜索
wd.find_element_by_css_selector('.p_sou .p_but').click()
jobList = wd.find_elements_by_css_selector('.j_joblist .e')
for job in jobList:
contents = job.find_elements_by_css_selector('.jname, .cname, .time, .sal')
info = [content.text for content in contents]
print (' | '.join(info))
# wd.quit()

浙公网安备 33010602011771号