在使用java和selenium时,当我在google上搜索如何更改某个行为时,我经常会找到一些示例,说明如何使用addargument或set\u preferences更改设置,如下所示:
options.addArguments("dom.webdriver.enabled=False");
options.addArguments("useAutomationExtension=False");
profile.setPreference("dom.webdriver.enabled", False);
profile.setPreference("useAutomationExtension", False);
看javadoc不是很有用:
有人能解释一下这两者之间的关系吗?概念上有什么不同吗?它们看起来很重叠。
此外,还有 desiredCapabilities
以及 capabilities
这似乎也很相似。它们为什么存在,它们之间又是如何联系的?
2条答案
按热度按时间zf9nrax11#
添加参数()
addArguments()
是一种配置abstractdriveroptions以管理firefox特定设置的方法,geckodriver可以通过使用firefoxoptions类的示例来理解这种方法。例如:
setpreference()
setPreference()
是一种配置firefoxprofile特定设置的方法,geckodriver可以通过firefoxprofile类的示例来理解。例如:
参考文献
您可以在中找到一些相关的详细讨论:
无法解析构造函数firefoxdriver(org.openqa.selenium.firefox.firefoxprofile)
无法在webdriver中传递firefoxprofile参数以使用首选项下载文件
1szpjjfi2#
https://www.chromium.org/administrators/configuring-other-preferences
首选项是用于控制浏览器行为的设置,支持的首选项的完整列表可在以下位置找到:
https://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/pref_names.cc?view=markup
参数是可以作为命令行参数传递给chrome浏览器的命令
https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/chromium/chromiumoptions.html#addarguments(java.lang.string…)
对于firefox:
论据:https://developer.mozilla.org/en-us/docs/mozilla/command_line_options
在firefox配置中添加所有设置(您可以通过键入about:config in 地址栏)可以使用options.addpreference设置