webdriver高级应用- 修改Chrome设置伪装成手机M站
通过更改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站的更多相关文章
- webdriver高级应用- 禁止Chrome浏览器的PDF和Flash插件
#encoding=utf-8 from selenium import webdriver # 导入Options类 from selenium.webdriver.chrome.options i ...
- webdriver高级应用- 使用Chrome浏览器自动将文件下载到指定路径
#encoding=utf-8 from selenium import webdriver import unittest, time class TestDemo(unittest.TestCas ...
- Selenium WebDriver高级应用
WebDriver高级应用 public class Demo4 { WebDriver driver; // @BeforeMethod:在每个测试方法开始运行前执行 @BeforeMethod p ...
- 修改Chrome的User Agent的方法 真实有效
如何修改Chrome的User Agent: 通过网络上查找,修改Chrome的Usre Agent有3种方式,但有的方式是不起作用的. 给Chrome添加启动参数(有作用) 通过扩展-User-Ag ...
- 打开phpmyadmin显示高级功能尚未完全设置部分功能未激活
问题:老师,打开phpmyadmin显示高级功能尚未完全设置部分功能未激活,应该如何解决? 这是前一阵子学生问过我的一个问题,今天我就在博客里解答你的疑问吧. 总共三步可以搞定 1.导入相关文件到数据 ...
- 修改User-Agent来伪装浏览器访问手机站点
有时候为了测试需要,可能需要使用测试手机wap这样的站点,如果用真正的手机去测试也可以实现,但是比较麻烦,我们可以通过设置chrome的user agent来伪装浏览器,达到我们的测试目的. 代码如下 ...
- 三:C#对象转换Json时的一些高级(特殊)设置;
导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型: 二:C#对象.集合.DataTable与Json内容互转示例: ...
- 修改Chrome默认搜索引擎为Google.com
在使用Chrome的时候,Google为增强本地化搜索,或将默认的Google搜索引擎转换为本地语言,如在中国会自动转到google.com.hk,日本会会自动转到google.co.jp,如果你是一 ...
- 【转】如何把ndk编译出来的可执行文件伪装成so打包到apk中
原文网址:http://jeyechao.iteye.com/blog/2164286 ndk编译出来的共享库,eclipse会自动打包到apk中,而编译出来的可执行文件则不会. 要想可执行文件自动被 ...
随机推荐
- jsonp, json区别
JSONP由两部分组成: 回调函数和数据 回调函数是接收到响应时应该在页面中调用的函数,其名字一般在请求中指定. 数据是传入回调函数中的JSON数据. jsonp var script=documen ...
- canvas、svg、canvas与svg的区别
一.canvas canvas 画布,位图 <canvas> 标签定义图形,比如图表和其他图像,您必须使用脚本来绘制图形 注意:不要在style中给canvas设置宽高,会有位移差 can ...
- Kendo UI 单页面应用(二) Router 类
Kendo UI 单页面应用(二) Router 类 Route 类负责跟踪应用的当前状态和支持在应用的不同状态之间切换.Route 通过 Url 的片段功能(#url)和流量器的浏览历史功能融合在一 ...
- 织梦DEDECMS会员中心发布文章修改提示"数据校验不对,程序返回"
一.文件:member/inc/inc_archives_function.php 找到函数 function PrintAutoFieldsEdit(&$fieldset, &$fi ...
- 深入理解Java虚拟机--个人总结
JVM内存区域 我们在编写程序时,经常会遇到OOM(out of Memory)以及内存泄漏等问题.为了避免出现这些问题,我们首先必须对JVM的内存划分有个具体的认识.JVM将内存主要划分为:方法区. ...
- Elasticsearch-分片原理1
Elasticsearch版本:6.0 Elasticsearch基于Lucene,采用倒排索引写入磁盘,Lucene引入了按段搜索的概念,来动态更新索引. 一个Lucene索引包含一个提交点和三个短 ...
- Python+Selenium之摘取网页上全部邮箱
本文转载:http://blog.csdn.net/u011541946/article/details/68485981 练习场景:在某一个网页上有些字段是我们感兴趣的,我们希望摘取出来,进行其他操 ...
- Python + selenium之unitest(2)
unittest单元测试框架中重要的概念: 1.Test Case 一个Test Case实例就是一个测试用例.在一个完整的测试流程中,包括测试前准备环境的搭建(setUp),实现测试过程的代码(ru ...
- 微信 Android版隐藏功能代码
- UVA11478 Halum (差分约束)
每次操作是独立的,而且顺序并不影响,作用在同一个结点上的d可以叠加,所以令x(u) = sigma(dui). 最后就是要确定所有的x(u). 因为m越大,满足条件的边就越少,二分答案m. 对于一条边 ...