selenium自動化原理:css
1.經過各類語言(python,java,ruby等)調用接口庫html
2.經過瀏覽器驅動(web driver)來驅動瀏覽器java
利用Python自動化的環境安裝:python
1.python解釋器與pycharm集成開發環境的安裝---安裝過程web
2.客戶端庫的安裝:打開cmd,輸入:pip install seleniumchrome
3.安裝瀏覽器與瀏覽器驅動(驅動下載至那裏都行)windows
谷歌瀏覽器驅動下載地址:http://chromedriver.storage.googleapis.com/index.htmlapi
選擇相應的系統,windows64位也可選win32.zip瀏覽器
自動化中的對象:ruby
Webdriver實例對象(瀏覽器驅動對象-控制瀏覽器)
WebElement實例對象(瀏覽器元素對象)
python + selenium自動化實例:
實現前程無憂搜索深圳的測試工程師崗位,並抓取到控制檯中:
#導入seleniumfrom selenium import webdriver#導入谷歌瀏覽器驅動賦值爲driver driver = webdriver.Chrome(r'H:\Pycharm\chromedriver.exe')#讓驅動暫停10s,防止頁面渲染未完成沒法獲取數據 driver.implicitly_wait(10)#經過驅動的get方法打開前程無憂官網 driver.get('http://www.51job.com')#經過id找到輸入框並設置其內容爲測試工程師 driver.find_element_by_id("kwdselectid").send_keys('測試工程師')#經過id找到城市選擇的按鈕並點擊 driver.find_element_by_id("work_position_input").click() #獲取熱門城市中每個城市的em標籤 cityEles = driver.find_elements_by_css_selector('#work_position_click_center_right_list_000000 em') for city in cityEles: cityName = city.text #打印城市名字 selected = city.get_attribute('class') =='on' #查看每一個城市是否被選中 if (cityName == '深圳'and not selected) or (cityName !='深圳' and selected): #若是深圳沒被選擇 或者 除深圳之外都被選中 則點擊 city.click() #獲取肯定按鈕並點擊 driver.find_element_by_id('work_position_click_bottom_save').click()#獲取搜索按鈕並點擊 driver.find_element_by_css_selector('.ush button').click()#獲取測試崗位信息的全部行 jobs = driver.find_elements_by_css_selector('#resultList div.el')#打印職位信息 for job in jobs: filelds = job.find_elements_by_tag_name('span') strField = [fileld.text for fileld in filelds] print (' | '.join(strField)) driver.quit()