selenium自動化模擬訪問、谷歌及無屏phantomJs
阿新 • • 發佈:2018-11-17
selenium可以模擬操作瀏覽器
常用配合瀏覽器
谷歌瀏覽器
phantomJs 瀏覽器
- phantomJs
無屏瀏覽器更便捷
- 下載地址
注意事項
- quit()與close() 前者關閉驅動和瀏覽器 後者只關閉且一個tab
- 除錯時會有警告提醒,忽略即可
常用方法
定位
查詢定位: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_tag_name find_element_by_class_name
截圖 .save_screenshot('./截圖.png')
簡單案例
基於谷歌
from selenium import webdriver
# 利用驅動建立瀏覽器物件
bro = webdriver.Chrome(executable_path='./chromedriver')
# 百度完成搜尋案例
bro.get('https://www.baidu.com/') # 開啟百度
text = bro.find_element_by_id('kw') # 定位到搜尋框
text.send_keys('股市行情') # 向文字框寫入
button = bro.find_element_by_id( 'su') # 定位搜尋按鈕
button.click() # 點選
bro.quit() # 關閉瀏覽器
獲取豆瓣電影懂啊提加載出更多電影詳情資料
基於phantomJs
from selenium import webdriver
bro = webdriver.PhantomJS(executable_path='./phantomjs')
url = 'https://movie.douban.com/typerank?type_name=喜劇&type=24&interval_id=100:90'
bro.get(url=url)
# 編寫js程式碼,讓滾輪向下滑動到底部
js = 'window.scrollTo(0,document.body.scrollHeight)'
# 執行js程式碼
bro.execute_script(js)
# 取當前頁面資料
page_text = bro.page_source
# 解析...
# bro.save_screenshot('./豆瓣.png')