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()
posted @ 2021-10-14 16:22  minka  阅读(26)  评论(0)    收藏  举报