惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
博客园 - 聂微东
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
MongoDB | Blog
MongoDB | Blog
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
Martin Fowler
Martin Fowler
M
MIT News - Artificial intelligence
The GitHub Blog
The GitHub Blog
博客园_首页
博客园 - 叶小钗
腾讯CDC
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
宝玉的分享
宝玉的分享
D
Docker

老董笔记

尚硅谷机构在哪?尚硅谷培训怎么样?靠谱吗-互联网IT百科 韩顺平介绍,传智讲师,开办泰牛,入尚硅谷等一系列-互联网IT百科 pandas多重索引标准样式(写入excel有空行)-互联网IT百科 cannot join with no overlapping index names-互联网IT百科 pandas多列变多行(即宽表变长表)melt和stack函数-互联网IT百科 pandas多行转多列(长表变宽表)pivot和unstack-互联网IT百科 Index contains duplicate entries, cannot reshape完美解决-互联网IT百科 single positional indexer is out-of-bounds-互联网IT百科 Can only compare identically-labeled Series objects-互联网IT百科 pandas transform用法详解(多个案例)-互联网IT百科 python四舍五入精确实现-互联网IT百科 pandas的groupby使用apply分组排序-互联网IT百科 index 0 is out of bounds for axis 0 with size 0-互联网IT百科 pandas分组过滤filter函数-互联网IT百科 联想Win10系统如何禁用触摸屏关闭触摸-互联网IT百科 groupby分组计算transform转换返回相同长度序列-互联网IT百科 brooks seo教程python教程,brooks seo教程网盘,布鲁seo资源-互联网IT百科 电脑右键文件夹一直转圈电卡死怎么回事-互联网IT百科 施琪嘉的心理成长课(荐)-互联网IT百科 百度SEO公司_SEO推广公司哪家好_SEO外包服务如何选-老董笔记 groupby后agg同1列用多个聚合函数、不同列用不同函数、自定义函数-互联网IT百科 pandas的groupby单列多列分组聚合运算-互联网IT百科 DataFrameGroupBy对象及分组个数、分组大小、组名索引、组数据详解-互联网IT百科 pandas中groupby之Grouper and axis must be same length-互联网IT百科 pandas中groupby的分组原理-互联网IT百科 pandas的groupby的使用详解大全-互联网IT百科 openpyxl单元格自动换行强制换行Alignment(wrapText=True)-互联网IT百科 python教程全套(可就业)-互联网IT百科 联想win10系统CPU显示100%,电脑呼呼响怎么回事-互联网IT百科 如何自制CPU,CPU原理是怎么样的?-互联网IT百科
selenium启动禁用图片,UA,窗口,无头模式,手机模式,弹窗等配置...
2020-12-17 · via 老董笔记

  本节测试下selenium启动浏览器的一些配置参数,比如UA信息,模拟手机,是否加载图片等。首先找到可以检测浏览器UA信息及屏幕分辨率的网站。

  http://www.sunchateau.com/free/UA.htm,打开该网站即可显示当前浏览器和屏幕的信息。

# -*- coding: utf-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

option = Options()
# 移动UA
iphone_ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
# 窗口大小
option.add_argument('--window-size=900,800')
# 移动分辨率及UA
mobile_emulation = {
    "deviceMetrics": {"width": 375, "height": 667,'pixelRatio':3},
    "userAgent": iphone_ua,
    "pixelRatio": 2 #设备像素比
}
# 禁止图片和弹窗
prefs = {
    'profile.default_content_setting_values' : {
        'images' : 2, # 禁止图片加载
        'notifications':2 # 禁止弹窗
    }
}

option.add_experimental_option('prefs',prefs)
option.add_experimental_option('mobileEmulation',mobile_emulation)
option.add_argument('--disable-gpu') # linux下用 避免一些bug
#手动指定浏览器位置 如路径是谷歌默认安装位置可省略
option.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"  
driver = webdriver.Chrome(options=option)
driver.get('http://www.sunchateau.com/free/UA.htm')


time.sleep(5)
driver.quit()

  运行代码,可以看到该网站显示的信息和我们配置的完全一样!说明配置有效

  配置UA也可以用如下方法

	  option.add_argument('--user-agent=""') # 设置请求头的User-Agent

  禁止加载图片也可以如下方法

	  option.add_argument('--blink-settings=imagesEnabled=false')

  更多启动参数可以参考这里的文档

  https://peter.sh/experiments/chromium-command-line-switches/

  有些有强迫症的同学非要指明谷歌浏览器路径和webdriver的路径,我就单独列出来这个

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


option = Options()
# 谷歌浏览器路径
option.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"  
# webdriver的路径
driver = webdriver.Chrome(executable_path='D:/python3/install/chromedriver')

  所有配置是否可行一定要亲自尝试,同一种配置如果浏览器版本不同可能就不生效了!常见的配置如下:

  注意高版本浏览器:禁用浏览器正在被自动化程序控制的提示

  注意高版本浏览器:window.navigator.webdriver=true修改

	  option.add_argument('--user-agent=""') # 设置请求头的User-Agent
	  option.add_argument('--window-size=1280x1024') # 设置浏览器窗口大小
	  option.add_argument('--start-maximized') # 浏览器启动时全屏
	  option.add_argument('--disable-infobars') # 禁用浏览器正在被自动化程序控制的提示!谷歌76版本起该方法失效。
	  option.add_experimental_option("excludeSwitches", ['enable-automation']);# 正常浏览器window.navigator.webdriver的值为 undefined。而使用selenium访问则该值为true,该方法规避这种风险,但是谷歌浏览器79.0.3945.88不生效。
	  option.add_argument('--incognito') # 隐身模式(无痕模式)
	  option.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面
	  option.add_argument('--disable-javascript') # 禁用javascript
	  option.add_argument('--blink-settings=imagesEnabled=false') # 不加载图片, 提升速度
	  option.add_argument('--headless') # 无头模式 浏览器不提供可视化页面
	  option.add_argument('--ignore-certificate-errors') # 屏蔽--ignore-certificate-errors提示信息
	  option.add_argument('--disable-gpu') # 禁用谷歌浏览器GPU加速-配置1(linux上用)
	  option.add_argument('–disable-software-rasterizer')# 禁用谷歌浏览器GPU加速-配置2(linux上用)
	  option.add_argument('--disable-extensions')# 禁用扩展插件

	  

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会