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