通过更改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. CF1088D Ehab and another another xor problem

    思路: 根据异或的性质一位一位来搞.参考了https://blog.lucien.ink/archives/362/ 实现: #include <bits/stdc++.h> using ...

  2. SQL Server数据库所有表重建索引

    USE My_Database;DECLARE @name varchar(100) DECLARE authors_cursor CURSOR FOR  Select [name]   from s ...

  3. [Python] - 使用chardet检查网页编码格式时发现的问题

    最近在使用chardet检查网页编码格式时发现如下问题: 用urllib打开网页再检查编码格式和用urllib2打开网页检查编码格式结果不一样,所以urllib2打开可能导致问题,需要关注. 查看了相 ...

  4. PHP程序Laravel框架的优化技巧

    Laravel是一套简洁.优雅的php Web开发框架(PHP Web Framework).它可以让你从杂乱的代码中解脱出来,可以帮你构建一个完美的网络app,而且每行代码都简洁.富于表达力.而性能 ...

  5. string 空值

    string str; string mystr = ""; 则 str == mystr;

  6. java基础—抽象类介绍

    一.抽象类介绍

  7. 第一本C语言笔记(上)

    1. 一般地源程序文件到可执行程序文件经过如下四步: 预处理 -- 头文件内容插入.宏替换.删注释(#include.#define) 编译 -- 把预处理过的源文件编程汇编文件 .c -> . ...

  8. VMware安装Ubuntu配置NAT模式下静态IP,解决访问外网问题

    安装好VMware后,打开网络连接可以看到有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两个网络适配器,VMnet1是针对桥接 ...

  9. python入门:while循环里面True和False的作用,真和假

    #!/usr/bin/env python # -*- coding:utf-8 -*- #while循环里面True和False的作用,真和假 """ n1等于真(Tr ...

  10. thinkcmf5 模板版变量的加载过程 和 新增网站配置项怎么全局使用

    1.模板全局配置是怎么加载的 在 HomeBaseController.php 的 fech方法 $more     = $this->getThemeFileMore($template); ...