> 共有两种方法,一种设置chrome配置,一种直接使用插件达到相应的目的。其中使用插件来屏蔽图片可转到“使用扩展插件”章节。这里就介绍chrome配置。
[TOC]
#### 1. 查看chrome支持的浏览器属性
> chrome driver的官方文档( https://sites.google.com/a/chromium.org/chromedriver/capabilities ),可以看到,chrome driver可以支持的自定义属性
![](https://box.kancloud.cn/eb40adb577ce8389c81f7b3c41eab85d_551x230.png)
#### 2. 查看本地配置的参数值
> 可以使用自己的chrome浏览器进行配置,配置好了后,查看“Preferences文件”里的值就可以了。一般路径都为“用户文件夹\AppData\Local\Google\Chrome\User Data\Default”。
![](https://box.kancloud.cn/22d68dde1eb5af7b10ac7f74c6deea84_560x317.png)
![](https://box.kancloud.cn/5eb17839b360dbe1aba71d5c4a7febef_393x302.png)
![](https://box.kancloud.cn/2a49fb3fd6093c5d30082ae35268b114_653x447.png)
#### 3. 代码DEMO
> 找到了屏蔽图片对应的参数后,我们就可以进行测试了
~~~
$host = 'http://localhost:4444/wd/hub'; // this is the default
$capabilities = DesiredCapabilities::chrome();
$options = new ChromeOptions();
$value = ['profile.managed_default_content_settings.images'=>2];
$options->setExperimentalOption('prefs', $value);
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
$driver->manage()->timeouts()->implicitlyWait(15); //隐性设置15秒
$driver->get('http://www.baidu.com/');
echo 'done';
~~~
#### 4. 换个思路,变得更简洁
> 上面提到的都是设置具体的参数,而要找到对应设置的参数比较繁杂,当如果不想那么麻烦时候,完全可以在已有的chrome浏览器先设置好,然后把“用户文件夹\AppData\Local\Google\Chrome\User Data”加载到自己的应用中。
~~~
$host = 'http://localhost:4444/wd/hub'; // this is the default
$capabilities = DesiredCapabilities::chrome();
$options = new ChromeOptions();
$options->addArguments(["--user-data-dir=d:/xampp/test/User Data"]);
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
$driver->manage()->timeouts()->implicitlyWait(15); //隐性设置15秒
$driver->get('http://www.baidu.com/');
echo 'done';
~~~
> 总结:这里虽然只是介绍的屏蔽图片,但是同理的chrome其他设置也可以用这样的方式进行,如禁用JS等等之类的。