Когда DesiredCapabilities устарел, как я буду использовать SetCapability в selenium webdriver C #?

Могу я так использовать?

capacidades = new ChromeOptions();
capacidades.AddAdditionalCapability(@"browserName", @"chrome");
0
Renato Santana 13 Сен 2018 в 15:22

2 ответа

Лучший ответ

Вместо DesiredCapabilities вы должны использовать класс "Параметры" для конкретного браузера, как показано в вашем примере. Однако вы можете вызывать AddAdditionalCapability только для имен возможностей, которые еще не имеют типобезопасного свойства или метода для установки значения возможности. В случае возможности browserName уже существует свойство BrowserName для доступа к значению этой возможности. Полученное вами исключение времени выполнения должно иметь имя свойства или метода, которое будет использоваться вместо ручной установки возможности с этим именем, но я считаю, что существует ошибка, из-за которой сообщение об исключении не форматируется должным образом.

Однако обратите внимание, что свойство BrowserName доступно только для чтения, потому что, поскольку вы используете ChromeOptions, привязки уже знают, что имя браузера должно быть "chrome".

0
JimEvans 13 Сен 2018 в 14:43

Добавляем простой пример к ответу от JimEvans.

Простой пример отключения информационных панелей Chrome:

private IWebDriver GetChromeDriver()
{
    var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

    //Disable chrome info bar in order to prevent "Chrome is being run by automation software."
    var chromeOption = new ChromeOptions();
    chromeOption.AddArguments("disable-infobars");

    return new ChromeDriver(outPutDirectory, chromeOption);
}
0
cybersnow1989 20 Сен 2018 в 15:10