Selenium使用Chrome模擬手機瀏覽器方法解析
阿新 • • 發佈:2020-04-12
在使用Chrome瀏覽網頁時,我們可以使用Chrome開發者工具模擬手機瀏覽器,在使用Selenium操作Chrome時同樣也可以模擬手機瀏覽器。主要有以下兩種用途。
測試H5頁面在不同解析度裝置上的顯示情況是否正常爬取資料(一般網站對移動裝置瀏覽的反爬教弱)使用指定裝置
操作方法非常簡單,在ChromeOptions()瀏覽器選項,新增實驗選項,mobileEmulation選項中通過devicename指定選擇的裝置即可,操作程式碼如下。
from selenium import webdriver options = webdriver.ChromeOptions() options.add_experimental_option('mobileEmulation',{'deviceName': 'iPhone X'}) # 模擬iPhone X瀏覽 driver = webdriver.Chrome(options=options) driver.get('http://m.baidu.com')
操作效果如下圖:
Chrome開發者工具中已經設定好的裝置型別非常多,可以在開發者工具->Settings->Devices中檢視,如下圖:
使用自定義裝置
mobileEmulation除了可以通過deviceName指定裝置之外,還可以通過deviceMetrics指定裝置指標,一般裝置指標包含
- width: 裝置寬度
- height: 裝置高度
- piexelRatio: 裝置畫素密度
- userAgent:裝置瀏覽器標識
使用示例如下:
from selenium import webdriver options = webdriver.ChromeOptions() options.add_experimental_option('mobileEmulation',{'deviceMetrics':{'width': 320,'height': 640,'piexelRatio': 3.0,'userAgent': 'Mozilla/5.0 (Linux; Android 4.1.1; GT-N7100 Build/JRO03C) AppleWebKit/537.36 (KHTML,like Gecko) Version/4.0 Chrome/35.0.1916.138 Mobile Safari/537.36 T7/6.3' } } ) driver = webdriver.Chrome(options=options) driver.get('http://m.baidu.com')
當然如果只需要測試不同解析度的話也可以只設置width和height值。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。