chrome開發(fā)者工具中有模擬手機端調(diào)試工具,不光為自動化測試省筆買手機的錢(-_-這個具體還是看情況),還能讓爬蟲顯得更真實,使用起來就像下圖這樣

iPhone 6 Plus.png
以下就是代碼實現(xiàn)的兩種方式
導(dǎo)入selenium相關(guān)庫
from selenium import webdriver
from selenium.webdriver.common.touch_actions import TouchActions # 用來模擬手機端操作
1、通過設(shè)置設(shè)備名稱實現(xiàn)
這種方式只支持chrome設(shè)備列表中已存在的設(shè)備,不過你也可以自己添加編輯
mobileEmulation = {'deviceName': 'Galaxy S5'}
options = webdriver.ChromeOptions()
options.add_experimental_option('mobileEmulation', mobileEmulation)
driver = webdriver.Chrome(chrome_options=options)
driver.get('http://m.baidu.com')
input('是否有效')
driver.close()
driver.quit()
2、通過自定義設(shè)備參數(shù)實現(xiàn)
WIDTH = 600
HEIGHT = 800
PIXEL_RATIO = 3.0
# UA 必須要是手機設(shè)備的
UA = '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'
mobileEmulation = {"deviceMetrics": {"width": WIDTH, "height": HEIGHT, "pixelRatio": PIXEL_RATIO}, "userAgent": UA}
options = webdriver.ChromeOptions()
options.add_experimental_option('mobileEmulation', mobileEmulation)
driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
driver.get('https://m.baidu.com')
time.sleep(1)
inputs = driver.find_element_by_xpath('//*[@id="index-kw"]')
TouchActions(driver).tap(inputs).perform() # 模擬觸控
input('是否有效')
driver.close()
driver.quit()