若是你還想從頭學起Selenium,能夠看看這個系列的文章哦!css
https://www.cnblogs.com/poloyy/category/1680176.htmlhtml
其次,若是你不懂前端基礎知識,須要本身去補充哦,博主暫時沒有總結(雖然我也會,因此我學selenium就不用複習前端了哈哈哈...)前端
注意,目前的實戰都是流水帳式寫的,後面纔會結合框架+PO模式python
目的是爲了掌握所學的Selenium基礎web
一、訪問:http://www.51job.comchrome
二、輸入搜索關鍵詞 "python", 地區選擇 "北京"(注意,若是所在地已經選中其餘地區,要去掉)瀏覽器
三、搜索最新發布的職位, 抓取頁面信息。 獲得以下的格式化信息框架
Python開發工程師 | 杭州納帕科技有限公司 | 杭州 | 0.8-1.6萬/月 | 04-27測試
Python高級開發工程師 | 中浙信科技諮詢有限公司 | 杭州 | 1-1.5萬/月 | 04-27網站
高級Python開發工程師 | 杭州新思惟計算機有限公司 | 杭州-西湖區 | 1-1.5萬/月 | 04-27
# !/usr/bin/env python # -*- coding: utf-8 -*- """ __title__ = __Time__ = 2020/3/25 17:52 __Author__ = 小菠蘿測試筆記 __Blog__ = https://www.cnblogs.com/poloyy/ """ from time import sleep from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.common.by import By # 設置元素等待實例,最多等10秒,每0.5秒查找一次 def wait_element(driver, by_, element_, timeout=10): element = WebDriverWait(driver=driver, timeout=timeout).until( lambda x: x.find_element(by=by_, value=element_) ) return element # 設置元素等待實例,最多等10秒,每0.5秒查找一次 def wait_elements(driver, by_, element_, timeout=10): element = WebDriverWait(driver=driver, timeout=timeout).until( lambda x: x.find_elements(by=by_, value=element_) ) return element # 加載驅動 driver = webdriver.Chrome("../resources/chromedriver.exe") # 打開網站 driver.get("http://www.51job.com") driver.maximize_window() # 搜索框 wait_element(driver, By.CSS_SELECTOR, "#kwdselectid").send_keys("python") # 地區按鈕 wait_element(driver, By.CSS_SELECTOR, "#work_position_input").click() # 熱門城市列表 city_lists = wait_elements(driver, By.CSS_SELECTOR, "div#work_position_click_center_right_list_000000 td em.on") # 選中北京,取消選中其餘城市 for city in city_lists: sleep(1) city.click() wait_element(driver, By.CSS_SELECTOR, "em#work_position_click_center_right_list_category_000000_010000").click() # 肯定按鈕 driver.find_element_by_css_selector("#work_position_click_bottom_save").click() # 搜索按鈕點擊 wait_element(driver, By.CSS_SELECTOR, "div.top_wrap button").click() # 找到職位列表 lists = wait_elements(driver, By.CSS_SELECTOR, "div#resultList>div.el")[1:] for data in lists: spans = [i.text for i in data.find_elements_by_css_selector("span")] print(" | ".join(spans)) sleep(10) # 退出瀏覽器 driver.quit()
原文出處:https://www.cnblogs.com/poloyy/p/12631987.html