Selenium使用Chrome模擬手機瀏覽器方法解析
在使用Chrome瀏覽網(wǎng)頁時,我們可以使用Chrome開發(fā)者工具模擬手機瀏覽器,在使用Selenium操作Chrome時同樣也可以模擬手機瀏覽器。主要有以下兩種用途。
測試H5頁面在不同分辨率設(shè)備上的顯示情況是否正常爬取數(shù)據(jù)(一般網(wǎng)站對移動設(shè)備瀏覽的反爬教弱)使用指定設(shè)備
操作方法非常簡單,在ChromeOptions()瀏覽器選項,添加實驗選項,mobileEmulation選項中通過devicename指定選擇的設(shè)備即可,操作代碼如下。
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開發(fā)者工具中已經(jīng)設(shè)置好的設(shè)備類型非常多,可以在開發(fā)者工具->Settings->Devices中查看,如下圖:
使用自定義設(shè)備
mobileEmulation除了可以通過deviceName指定設(shè)備之外,還可以通過deviceMetrics指定設(shè)備指標,一般設(shè)備指標包含
- width: 設(shè)備寬度
- height: 設(shè)備高度
- piexelRatio: 設(shè)備像素密度
- userAgent:設(shè)備瀏覽器標識
使用示例如下:
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')
當然如果只需要測試不同分辨率的話也可以只設(shè)置width和height值。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python3+Selenium+Chrome實現(xiàn)自動填寫WPS表單
- 下載與當前Chrome對應(yīng)的chromedriver.exe(用于python+selenium)
- selenium+Chrome滑動驗證碼破解二(某某網(wǎng)站)
- python selenium 執(zhí)行完畢關(guān)閉chromedriver進程示例
- 詳解pyinstaller selenium python3 chrome打包問題
- selenium+java+chrome環(huán)境搭建的方法步驟
- selenium 安裝與chromedriver安裝的方法步驟
- selenium設(shè)置proxy、headers的方法(phantomjs、Chrome、Firefox)
相關(guān)文章
Python生成器深度解析如何構(gòu)建強大的數(shù)據(jù)處理管道
這篇文章主要為大家介紹了Python生成器深度解析如何構(gòu)建強大的數(shù)據(jù)處理管道,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06Python使用grequests并發(fā)發(fā)送請求的示例
這篇文章主要介紹了Python使用grequests并發(fā)送請求的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11Python pywifi ERROR Open handle fai
這篇文章主要介紹了Python pywifi ERROR Open handle failed問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06python如何派生內(nèi)置不可變類型并修改實例化行為
這篇文章主要為大家詳細介紹了python如何派生內(nèi)置不可變類型并修改實例化行為,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03Pandas.DataFrame重置Series的索引index(reset_index)
本文主要介紹了Pandas.DataFrame重置Series的索引index(reset_index),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python Barbershop實現(xiàn)照片換發(fā)型功能
這篇文章主要為大家介紹了一個開源項目(Barbershop),可以將照片中的發(fā)型更換成另一個,文中實現(xiàn)過程講解詳細,感興趣的可以學(xué)習(xí)一下2022-01-01python基于三階貝塞爾曲線的數(shù)據(jù)平滑算法
這篇文章主要介紹了python基于三階貝塞爾曲線的數(shù)據(jù)平滑算法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12