Chrome Capabilities 与 ChromeOptions

 

https://sites.google.com/a/chromium.org/chromedriver/capabilities

您可以使用自定义和配置ChromeDriver会话选项。此页面文件的所有ChromeDriver支持的能力和如何使用它们。
 

该webdriver的语言API提供了一些方法,以能力传递给ChromeDriver。确切的机制语言不同,但大多数语言使用下列机制的一种或两种:

  1. 使用ChromeOptions类。这是通过使用Java,Python等支持
  2. 使用DesiredCapabilities 类。这是由从Python,Ruby等,同时它也是在Java中可用,它在Java中的使用已经过时的支持。

使用ChromeOptions类

您可以创建的实例ChromeOptions,这对于设置特定ChromeDriver,功能方便的方法。然后,您可以传递ChromeOptions对象到ChromeDriver构造函数:

ChromeOptions选项=新ChromeOptions ; 
选项addExtensions 新文件“/path/to/extension.crx” ) ; 
ChromeDriver驱动=新ChromeDriver 选项;


由于硒版本3.6.0,则ChromeOptions在Java类也实现了Capabilities界面,让您可以指定不特定ChromeDriver其他的webdriver能力。

 
ChromeOptions选项=   ChromeOptions ;
//添加webdriver的代理能力。
代理代理=  代理; 
代理setHttpProxy myhttpproxy:3337 ; 
选项setCapability 代理代理;

//添加特定ChromeDriver-能力。
选项addExtensions 文件/path/to/extension.crx ; 
ChromeDriver驱动=   ChromeDriver 选项;

使用DesiredCapabilities

要使用DesiredCapabilities,你需要知道的能力的名称和价值它需要的类型。见下文的完整列表。

红宝石

=的webdriver 远程功能chromeOptions  = >  { ARGS  = >  [  -禁用网络的安全性 ] }  
驱动=的webdriver  远程 URL  的'http://本地主机:4444 / WD /集线器' desired_capabilities  帽子

常见的使用情况

Use custom profile (also called user data directory)

By default, ChromeDriver will create a new temporary profile for each session. At times you may want to set special preferences or just use a custom profile altogether. If the former, you can use the 'chrome.prefs' capability (described later below) to specify preferences that will be applied after Chrome starts. If the latter, you can use the user-data-dir Chrome command-line switch to tell Chrome which profile to use:

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");

You can create your own custom profile by just running Chrome (on the command-line or through ChromeDriver) with the user-data-dir switch set to some new directory. If the path doesn't exist, Chrome will create a new profile in the specified location. You can then modify the profile settings as desired, and ChromeDriver can use the profile in the future. Open chrome://version in the browser to see what profile Chrome is using.

Start Chrome maximized

ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");

 

Using a Chrome executable in a non-standard location

ChromeOptions选项=   ChromeOptions ; 
选项优先考虑setBinary /路径/到/其他/铬/二进制;

 

设置在Chrome的偏好

ChromeOptions选项=   ChromeOptions ; 
地图<字符串,对象>首选项=  的HashMap <字符串,对象> ; 
首选项profile.default_content_settings.popups  0 ; 
选项setExperimentalOption 首选项首选项;

 

公认的功能列表

这是所有ChromeDriver支持webdriver的标准功能列表:

Proxy 宾语

见  http://code.google.com/p/selenium/wiki/DesiredCapabilities#Proxy_JSON_Object 

loggingPrefs 宾语

见  https://code.google.com/p/selenium/wiki/DesiredCapabilities#JSON_object 

chromeOptions 宾语

这是所有特定铬所需的能力,这都是下一个列表chromeOptions字典。 

如果可能的话,使用ChromeOptions类,而不是直接指定这些。

 

 名称 类型 默认  描述 
args  字符串列表    的命令行参数列表来启动Chrome时,使用。与相关联的参数值应该由“=”符号被分离(例如,[“启动最大化”,“用户数据DIR = / TMP / temp_profile”])。见  这里  对于Chrome的参数列表。
binary 串    路径到Chrome可执行使用(在Mac OS X,这应该是实际的二进制,而不仅仅是应用程序。例如,'/应用/谷歌Chrome.app/Contents/MacOS/Google Chrome的)
extensions 字符串列表    Chrome扩展程序的列表上安装启动。在列表中每个项目应该是一个base-64编码打包Chrome扩展(的.crx)
localState 字典   字典与由偏好和其价值的名称的每个条目。这些首选项适用于用户数据文件夹中的本地状态文件。
prefs 字典   字典与由偏好和其价值的名称的每个条目。这些首选项仅适用于使用的用户配置文件。请参阅有关示例Chrome的用户数据目录下的“首选项”文件。
detach 布尔 假  如果为false,Chrome将是退出的时候ChromeDriver被杀害,不管会话是否退出。如果为真,Chrome浏览器将只在会话退出(或关闭)退出。请注意,如果是真的,而会话没有退出,ChromeDriver无法清理的运行Chrome实例使用临时用户数据目录。
debuggerAddress 串    一个浏览器的调试器服务器的地址来连接到,在形式<主机名/ IP:端口>,例如“127.0.0.1:38947”
excludeSwitches 字符串列表    铬命令行的列表切换默认遍开始Chrome时,排除ChromeDriver。不要前缀开关, - 。
minidumpPath  串    目录来存放铬小型转储。(仅支持在Linux上。)
mobileEmulation 字典   与任一一个用于“deviceMetrics”和“的userAgent。”值“设备名称”,或值的字典指移动仿真的详细信息。
perfLoggingPrefs 字典    一个可选的字典,它指定性能记录偏好。请参阅下面的详细信息。
 windowTypes  字符串列表   将出现在窗口的句柄的列表窗口类型的列表。为了访问元素,包括在该列表中“网页视图”。

perfLoggingPrefs 宾语

该perfLoggingPrefs字典的格式如下(所有键都是可选的):

 

名称 类型 默认 描述
enableNetwork 布尔 真正 无论收集来自网络域的事件。
enablePage 布尔 真正 是否要收集页面域中的事件。
traceCategories (空) 用逗号分隔的铬跟踪类别的字符串,其跟踪事件应被收集。未指定或空字符串禁用跟踪。
bufferUsageReportingInterval 正整数 1000 请求的数量DevTools跟踪缓冲器使用率事件之间的毫秒。例如,如果1000,则每秒一次,DevTools将报告跟踪缓冲器有多满。如果报告显示缓冲区使用率为100%时,将发出警告。

 

返回功能

这是所有特定铬返回功能列表。(即,当你创建一个新的会话什么ChromeDriver返回)

 

名称 类型  描述 
chrome.chromedriverVersion 串  ChromeDriver的版本 
userDataDir 串  路径,Chrome正在使用的用户数据的目录; 注意,这是一个“铬”字典内

ChromeDriver服务器的命令行参数

运行chromedriver --help 看命令行参数的版本。

你可能感兴趣的:(selenium)