为了账号安全,请及时绑定邮箱和手机立即绑定

我什么时候应该在 selenium C# 上使用 DriverOptions

我什么时候应该在 selenium C# 上使用 DriverOptions

C#
当年话下 2022-01-15 15:29:43
我什么时候应该在 selenium C# 中使用 DriverOptions?例子:public void test(){      DriverOptions capacidades;}这取代了 DesiredCapabilities?
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

DriverOptions本身是一个抽象类,因此,您很少直接使用它,并且可能仅在您创建一个接受继承的具体作为参数的抽象方法时引用(例如,某种与浏览器无关的启动方法)。在此处查看类文档:https ://seleniumhq.github.io/selenium/docs/api/dotnet/html/T_OpenQA_Selenium_DriverOptions.htm

Selenium 还提供了许多实现——它看起来像每个受支持的浏览器驱动程序都有一个。继承层次结构在上面的链接中列出。您可以指定命令行参数、浏览器 exe 的文件路径、要安装的扩展等,以自定义您要查找的特定浏览器进程实例。

编辑:要专门解决DesiredCapabilitiesvs DriverOptions- 是的,你是对的,DriverOptions实际上是DesiredCapabilities. 下面的几个链接表明,DriverOptions如果它在您使用的 SDK 中可用,则首选使用该实现,而DesiredCapabilities对于未提供此类实现的客户端(例如 ruby)则不是备份选项(在此答案时) )。

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

https://sqa.stackexchange.com/questions/23559/what-is-the-difference-between-desiredcapabilities-chromeoptions-and-when-to-u


查看完整回答
反对 回复 2022-01-15
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

扩展 David Jetter 的回答,我可以给出一个特定的驱动程序实现示例。我将 chrome 选项存储在 App.config 中,例如:


<!-- Chrome browser settings for web driver  OPTIONAL -->

<!-- https://chromium.googlesource.com/chromium/src/+/master/chrome/common/chrome_switches.cc -->

<add key="chrome:setting1" value="--window-size=1600,1100" />

<add key="chrome:setting2" value="--window-position=2150,5" />

<add key="chrome:setting3" value="--headless" />

然后在 Test 基类中做这样的事情:


    var options = new ChromeOptions();

    // Set all options from the app.config

    foreach (string key in ConfigurationManager.AppSettings.AllKeys.Where(k => k.StartsWith("chrome:setting")))

        options.AddArgument(ConfigurationManager.AppSettings[key]);


    driver = new OpenQA.Selenium.Chrome.ChromeDriver(options);

所以可以看到可以设置默认的窗口大小和位置,设置是否要无头模式;您可以实施几个选项。


查看完整回答
反对 回复 2022-01-15
  • 2 回答
  • 0 关注
  • 231 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信