1. 程式人生 > >selenium自動化模擬訪問、谷歌及無屏phantomJs

selenium自動化模擬訪問、谷歌及無屏phantomJs

selenium可以模擬操作瀏覽器

常用配合瀏覽器

谷歌瀏覽器

phantomJs 瀏覽器

注意事項

  1. quit()與close() 前者關閉驅動和瀏覽器 後者只關閉且一個tab
  2. 除錯時會有警告提醒,忽略即可

常用方法

定位

查詢定位:
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')