我正在尝试使用自定义参数和扩展来运行 drone (chromedriver)。但是我无法正确配置 arquillian.xml 以便浏览器在安装/配置它们的情况下运行。
arquillian.xml:
...
<extension qualifier="webdriver">
<property name="browser">chrome</property>
<property name="chromeDriverBinary">C:\\path\\to\\chromedriver.exe</property>
<property name="chromeArguments">user-data-dir=>C:\\path\\to\\BrowserProfile</property>
<property name="chromeExtensions">>C:\\path\\to\\\ModHeader_v2.1.1.crx</property>
<property name="chromePrintOptions">true</property>
</extension>
</arquillian>
我错过了什么吗?如何让无人机加载配置文件和扩展程序?
当我使用它时,我已经能够使用我的设置运行一个实例:
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);
和
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");
然而,这与无人机一起实例化了不同的浏览器。有没有办法将这些设置添加到无人机(在实例化之前)?
最佳答案
要设置这些 ChromeOptions 属性,请使用与 ChromeOptions 类中定义的设置/添加方法名称相对应的特定参数(前缀为“chrome”)。
具体在你的情况下,你需要使用参数 chromeArguments
有关详细信息,请参阅:
http://arquillian.org/blog/2016/09/14/arquillian-extension-drone-2-0-1-Final/
我还注意到您正在使用 chromeDriverBinary
属性来设置网络驱动程序的路径。如果您使用的是最新版本的 Drone,则不需要这样做,因为它具有自动下载功能。它基本上会下载最新版本的 chrome webdriver 并将其缓存在您的主目录中。有关此功能的更多信息,请参阅:https://github.com/arquillian/arquillian-extension-drone/#automatic-download
关于xml - 如何在 arquillian.xml 中正确地向 ChromeDriver 添加配置文件和扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42386593/