通过更改PC端Chrome浏览器的属性值,将PC端Chrome浏览器设定为手机端尺寸的浏览器,以便模拟手机端的浏览器,并完成各种页面操作。


#encoding=utf-8
from selenium import webdriver
import unittest, time


class TestDemo(unittest.TestCase):


def test_iPadChrome(self):
options = webdriver.ChromeOptions()
options.add_argument(
'--user-agent=Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3')
driver = webdriver.Chrome(executable_path="e:\\chromedriver", chrome_options=options)
driver.get("http://www.baidu.com")
# 暂停3秒,等待页面加载完成
time.sleep(3)
# 找到页面的搜索输入框,输入“iPad”
driver.find_element_by_id("kw").send_keys("iPad")
# 等待3秒,人工查看效果
time.sleep(1)
# 通过在Chrome浏览器地址栏中输入about:version,查看伪装效果
driver.get("about:version")
# 人工确认“用户代理”项配置信息是否跟设置一样
time.sleep(10)
driver.quit()


def test_iPhoneChrome(self):
options = webdriver.ChromeOptions()
options.add_argument(
'--user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3')
driver = webdriver.Chrome(executable_path="e:\\chromedriver", chrome_options=options)
driver.get("http://www.baidu.com")
time.sleep(3)
# 找到搜索输入框,输入“iPhone”
driver.find_element_by_id("index-kw").send_keys("iPhone")
time.sleep(1)
# 通过在Chrome浏览器地址栏中输入about:version,查看伪装效果
driver.get("about:version")
# 人工确认“用户代理”项配置信息是否跟设置一样
time.sleep(10)
driver.quit()


def test_Android236Chrome(self):
options = webdriver.ChromeOptions()
options.add_argument(
'--user-agent=Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1')
driver = webdriver.Chrome(executable_path="e:\\chromedriver", chrome_options=options)
driver.get("http://www.baidu.com")
time.sleep(3)
# 找到搜索输入框,输入“Android 2.3.6”
driver.find_element_by_id("index-kw").send_keys("Android 2.3.6")
time.sleep(1)
# 通过在Chrome浏览器地址栏中输入about:version,查看伪装效果
driver.get("about:version")
# 人工确认“用户代理”项配置信息是否跟设置一样
time.sleep(10)
driver.quit()


def test_Android402Chrome(self):
options = webdriver.ChromeOptions()
options.add_argument(
'--user-agent=Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30')
driver = webdriver.Chrome(executable_path="e:\\chromedriver", chrome_options=options)
driver.get("http://www.baidu.com")
time.sleep(3)
# 找到搜索输入框,输入“Android 4.0.2”
driver.find_element_by_id("index-kw").send_keys("Android 4.0.2")
time.sleep(1)
# 通过在Chrome浏览器地址栏中输入about:version,查看伪装效果
driver.get("about:version")
# 人工确认“用户代理”项配置信息是否跟设置一样
time.sleep(10)
driver.quit()


if __name__ == '__main__':
unittest.main()

 

webdriver高级应用- 修改Chrome设置伪装成手机M站的更多相关文章

  1. webdriver高级应用- 禁止Chrome浏览器的PDF和Flash插件

    #encoding=utf-8 from selenium import webdriver # 导入Options类 from selenium.webdriver.chrome.options i ...

  2. webdriver高级应用- 使用Chrome浏览器自动将文件下载到指定路径

    #encoding=utf-8 from selenium import webdriver import unittest, time class TestDemo(unittest.TestCas ...

  3. Selenium WebDriver高级应用

    WebDriver高级应用 public class Demo4 { WebDriver driver; // @BeforeMethod:在每个测试方法开始运行前执行 @BeforeMethod p ...

  4. 修改Chrome的User Agent的方法 真实有效

    如何修改Chrome的User Agent: 通过网络上查找,修改Chrome的Usre Agent有3种方式,但有的方式是不起作用的. 给Chrome添加启动参数(有作用) 通过扩展-User-Ag ...

  5. 打开phpmyadmin显示高级功能尚未完全设置部分功能未激活

    问题:老师,打开phpmyadmin显示高级功能尚未完全设置部分功能未激活,应该如何解决? 这是前一阵子学生问过我的一个问题,今天我就在博客里解答你的疑问吧. 总共三步可以搞定 1.导入相关文件到数据 ...

  6. 修改User-Agent来伪装浏览器访问手机站点

    有时候为了测试需要,可能需要使用测试手机wap这样的站点,如果用真正的手机去测试也可以实现,但是比较麻烦,我们可以通过设置chrome的user agent来伪装浏览器,达到我们的测试目的. 代码如下 ...

  7. 三:C#对象转换Json时的一些高级(特殊)设置;

    导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型:    二:C#对象.集合.DataTable与Json内容互转示例: ...

  8. 修改Chrome默认搜索引擎为Google.com

    在使用Chrome的时候,Google为增强本地化搜索,或将默认的Google搜索引擎转换为本地语言,如在中国会自动转到google.com.hk,日本会会自动转到google.co.jp,如果你是一 ...

  9. 【转】如何把ndk编译出来的可执行文件伪装成so打包到apk中

    原文网址:http://jeyechao.iteye.com/blog/2164286 ndk编译出来的共享库,eclipse会自动打包到apk中,而编译出来的可执行文件则不会. 要想可执行文件自动被 ...

随机推荐

  1. Java实现的断点续传功能

    代码中已经加入了注释,需要的朋友可以直接参考代码中的注释.下面直接上功能实现的主要代码: import java.io.File; import java.io.FileNotFoundExcepti ...

  2. 2、HTTP状态码

    HTTP状态码 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求.当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应 ...

  3. 多段图动态规划dp

    多段图问题是DP的基础题目.大体的意思是有一个赋权有向图,其顶点集被分为几个子集.求经过每个子集从源点到终点的最短路径 import java.util.ArrayList; import java. ...

  4. 2017.10.7 QBXT 模拟赛

    题目链接 T1 容斥原理,根据奇偶性进行加减 #include<iostream> #include<cstdio> using namespace std; typedef ...

  5. AutoHotKey设置ide的光标功能键

    CapsLock:: SetCapsLockState,off ;锁定为小写 CapsLock & d:: flag_C=1 ;小写d代替control键,实现跨词移动CapsLock &am ...

  6. 使用脚本在Linux服务器上自动安装Kubernetes的包管理器Helm

    Helm之于Kubernetes好比yum之于Red Hat Enterprise Linux,或者apt-get之于Ubuntu. Helm是由helm CLI和Tiller组成,是典型的Clien ...

  7. [torch] torch.contiguous

    torch.contiguous 作用 连续存储,因为view的操作要求的是连续的内容. 详细 考虑下面的操作,transpose操作只是改变了stride,而实际数组存储的内容并没有得到任何改变,即 ...

  8. CAD控件的鼠标事件(网页版)

    _DMxDrawXEvents::MouseEvent CAD控件中的鼠标事件. 参数 说明 LONG lType 事件类型,1鼠标移动,2是鼠标左键按下,3是鼠标右键按下,4是鼠标左键双击 5是鼠标 ...

  9. 计算机视觉2D几何基元及其变换介绍和OpenCV WarpPerspective源码分析

    2D图像几何基元 一般的,表示一个2d几何基元只用两个维度(比如x,y)就可以表示了,但是在计算机视觉研究中,为了统一对2d几何基元的操作(后面讲到的仿射,透射变换),一般会以增广矢量的方式表示几何基 ...

  10. JQuery EasyUI学习记录(三)

    1.jQuery EasyUI messager使用方式 1.1 alert方法 $(function(){ //1.alert方法---提示框 $.messager.alert("标题&q ...