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()