selenium-自动化测试51job网站(MacOS + Safari)2020年10月6日

登录 51job ,
//www.51job.com

输入搜索关键词 “python”, 地区选择 “杭州”(注意,如果所在地已经选中其他地区,要去掉), 
搜索最新发布的职位, 抓取页面信息。 得到如下的格式化信息

Python开发工程师 | 杭州纳帕科技有限公司 | 杭州 | 0.8-1.6万/月 | 04-27
Python高级开发工程师 | 中浙信科技咨询有限公司 | 杭州 | 1-1.5万/月 | 04-27
高级Python开发工程师 | 杭州新思维计算机有限公司 | 杭州-西湖区 | 1-1.5万/月 | 04-27

from selenium import webdriver
browser = webdriver.Safari()
browser.implicitly_wait(10)

# 打开51job官网
browser.get("//www.51job.com")

# 使用Safari开发模式下的“检查元素”功能,查看各个元素的element id
ele = browser.find_element_by_id('kwdselectid')
ele.send_keys('python')

ele = browser.find_element_by_id('work_position_click')
ele.click()

# 反选已选择的城市,定位城市部分
eles = browser.find_elements_by_css_selector('#work_position_click_ip_location em[class=on]')
for ele in eles:
    ele.click()

# 反选已选择的城市,热门城市部分
eles = browser.find_elements_by_css_selector('#work_position_click_center_right_list_000000 em[class=on]')
for ele in eles:
    ele.click()

# 选择自己想要选择的城市,如“杭州”
ele = browser.find_element_by_id('work_position_click_center_right_list_category_000000_080200')
ele.click()

# 保存城市选择
ele = browser.find_element_by_id('work_position_click_bottom_save')
ele.click()

# 点击搜索
# div class = "ush top_wrap" 下的button
ele = browser.find_element_by_css_selector('.ush button')
ele.click()

# 搜索结果分析
jobs = browser.find_elements_by_css_selector('.j_joblist div[class = e]')

for job in jobs:
    fields = job.find_elements_by_tag_name('span')
    strField = [field.text for field in fields]
    print(' | '.join(strField))

browser.close()