您的位置:首页 > 编程语言 > Python开发

Python - Selenium Chrome 模拟手机

2017-04-26 16:59 746 查看

Python - Selenium Chrome 模拟手机

Max.Bai

2017-04

Chrome浏览器支持移动端调试,当然ChromeDriver也支持移动端测试了。

使用python调用Webdriver 的Chrome浏览器驱动,并设置对应的options就可以实现浏览器打开后为移动端模式。

RobotFramework - Chrome模拟手机

1. 简单模式,指定对应的手机设备即可

mobile_emulation = {"deviceName":"Google Nexus 5"}
完整代码

# -*- coding:utf-8 -*-

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

mobile_emulation = {"deviceName":"Google Nexus 5"}
chrome_options = Options()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Chrome(chrome_options = chrome_options)
driver.get("http://www.baidu.com")
time.sleep(5)
driver.close()


2. 复杂模式,可以设置设备的宽度等等等

可包含deviceMetrics, userAgent

mobile_emulation = {
"deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 },
"userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" }


完整代码同简单模式,替换下就可以

3. Grid模式下创建webdriver

Grid是Selenium分布式执行模式(搭建分布式

和本地模式不同的是需要使用Remote方法。

实例代码:

# -*- coding:utf-8 -*-
import time
from selenium import webdriver

mobile_emulation = { "deviceName": "Google Nexus 5" }
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities = chrome_options.to_capabilities())
driver.get("http://www.baidu.com")
time.sleep(5)
driver.close()


最后附一张截图,看看浏览器打开是什么样子的



相关文档:
https://sites.google.com/a/chromium.org/chromedriver/mobile-emulation
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息