想解决的问题:
跑selenium脚本时,会运行浏览器,浏览器会显示图片,而出于效率或者其他方面的考虑,我们并不希望显示图片。那这里怎么做呢?本文会向大家介绍方法,并且触类旁通,通过本文的办法,你会知道,怎么自定义浏览器的其他属性。

一、chrome driver是否设置浏览器属性
chrome driver是否支持对浏览器属性的定义?答案当然是YES
通过chrome driver的官方文档(http://code.google.com/p/chromedriver/wiki/CapabilitiesAndSwitches),可以看到,chrome driver可以支持的自定义属性,相当可观
注意到红框中的部分,这里说明,我们可以去定义chrome浏览器的原生属性,这些属性是保存在chrome的用户数据文件夹中的Preferences文件中的,只要是这个文件中定义的属性,我们都可以让chrome driver对其做重新设置。我们初步判断,“不加载图片“这一设置,是保存在这个文件中的,因此,接下来需要知道,在这个文件中,是怎么保存”不加载图片“这个属性的。
二、“不加载图片”对应preferences文件中哪个属性
1、找到Preferences
Preferences文件,一般位于用户文件夹\AppData\Local\Google\Chrome\User Data\Default,如下图所示
2、通过浏览器设置”不显示图片“
打开你的chrome浏览器,进入“设置”页面,选“显示高级设置”
3、对比设置前后Preferences的区别
做了这个修改后,会发现Preferences多了红框这几行,因此这几行配置,对应了“不显示图片”这个配置
三、初始化chrome driver(代码)
通过前面两个步骤,我们已经知道了,chrome是怎么在Preferences中保存配置的,下面就是将这个配置变成代码:在初始化WebDriver时,带上这个配置。
代码如下所示。要注意到,map中的值,是要和Preferences中的层级相对应的。
1、default_content_setting是在profile配置组中的,因此表达式是profile.default_content_settings
2、default_content_settings中imges是key值,2是value值
Map<String, Object> contentSettings = new HashMap<String, Object>();
contentSettings.put("images", 2);Map<String, Object> preferences = new HashMap<String, Object>();
preferences.put("profile.default_content_settings", contentSettings);DesiredCapabilities caps = DesiredCapabilities.chrome();
caps.setCapability("chrome.prefs", preferences);
WebDriver driver = new ChromeDriver(caps);

总结:本文虽然是介绍了“不显示图片”的方法,但chrome的其他属性,也可以通过同样的思路去设置。怎么样~!让我们更加灵活、自由地使用selenium把!
不同版本的chrome driver,使用上可能存在差异,这里提供我使用的chrome driver:
http://pan.baidu.com/share/link?shareid=2940223438&uk=1375814196
如果你对selenium不熟,欢迎查看旧文:《Selenium超简单入门》

selenium设置:浏览器不显示图片相关推荐

  1. 设置浏览器不显示图片

    由于学校每个月给3G的免费流量,而且现在不知道怎么回事流量用的超快,为了避免交费,只能忍痛将浏览器中的图片都给避免加载.设置如下: 我用的是360安全浏览器7.1,在右上角工具-->选项--&g ...

  2. selenium设置浏览器的大小和位置

    selenium设置浏览器的大小和位置是在Window对象中进行设置的: import org.openqa.selenium.Dimension; import org.openqa.seleniu ...

  3. 前后端开发bug:python+vue开发图片验证码接口时,刷新浏览器不显示图片验证码,点击以后才可以显示和切换

    现象: 刷新浏览器页面,图片验证码不显示,点击图片验证码区域以后,才能显示也可以切换显示下一个. 排查思路: 调用开发者工具,检查是否向后端发起获取图片验证码请求. 如果生成了图片uuid编号,发送了 ...

  4. 在Mac上解决浏览器无法显示图片问题

    一.问题描述 打开 https://support.apple.com/zh-cn/guide/iphone/iphfed2c4091/ios,无法显示图片,如图所示 二.问题分析 DNS无法解析图片 ...

  5. 微软edge浏览器不显示图片问题

    用HBuider写的Web项目,项目名如果包含中文,edge下无法显示图片 转载于:https://www.cnblogs.com/phoenixBlog/p/9964820.html

  6. html怎么把设置按钮居中显示图片,html如何设置图片居中

    在html中,使用margin属性设置图片居中,只需要给图片元素设置"margin:auto"样式即可.当margin属性值为"auto"时,浏览器会自动分配左 ...

  7. android动态设置文本居中显示图片,Android DrawableTextView图片文字居中显示实例

    在我们开发中,TextView设置Android:drawableLeft一定使用的非常多,但Drawable和Text同时居中显示可能不好控制,有没有好的办法解决呢? 小编的方案是通过自定义Text ...

  8. android动态设置文本居中显示图片,android按钮图片和文本居中的代码-你躺枪了吗...

    最近优化项目代码时,发现一个比较诡异的现象:每当界面进入ActivityA时,cpu在不断的消耗,内存在不断的缓慢增长(虽然每次增长的量非常小).如下图: 屏幕快照 2016-07-24 12.26. ...

  9. 使用selenium设置firefox不加载图片增加加载速度提高爬虫效率

    from selenium import webdriver options=webdriver.FirefoxProfile() options.set_preference('permission ...

最新文章

  1. 李茶:虎牙直播推荐系统架构详解
  2. hdu4930 模拟斗地主
  3. 【翻译】CodeMix使用教程(三):Emmet
  4. python中5个json库的速度对比
  5. eclipse无法运行 ,报错:the selection cannot be launched
  6. 开发人员学Linux(2):VirtualBox中安装CentOS7系统设置
  7. 根据一级分类查询所有子级分类
  8. python image convert_从python运行imagemagick convert(控制台应用程序)
  9. python unpack_ip地址处理每天10行python代码系列
  10. 华为魔术手机拆机图解_华为P9进水不显示维修案例
  11. SpringBoot整合Redis(单机/哨兵/集群)
  12. yum安装 vs 源码编译安装
  13. jQuery点击图片弹出大图遮罩层
  14. MuiPlayer视频播放组件入门
  15. Go语言中使用SQLite数据库
  16. java 成绩单_java中用if做成绩单
  17. STM32内部ADC基准电压计算方法
  18. 手机wifi延迟测试软件,测网速延迟(如何测试wifi延迟)
  19. 计算机学院的迎新晚会,计算机学院举办“互联青春,拾梦翱翔”迎新晚会
  20. H264熵编码之CABAC

热门文章

  1. 【沐风老师】3DMAX一款神级一键四边面重拓扑插件Quad Remesher使用教程
  2. javaFX学习之DatePicker日期控件
  3. 计算机图形学 实验三 相机、阴影、光照
  4. 容器复习-----6、volume(数据卷)
  5. 最大子矩阵和问题(“九韶杯” 最强对手矩阵、AW的西瓜田)
  6. History of program(程序简史)
  7. NAT类型分类与定义
  8. 关于winHex的使用
  9. PHP8编译swoole,php安装swoole
  10. 5902 xjb模拟