我想在C#中使用chrome驱动实例来实现DesiredCapabilities,但从我所能找到的来看,这是不可能的?例如..。
DesiredCapabilities capabilities = DesiredCapabilities.Chrome();
capabilities.SetCapability(CapabilityType.UnexpectedAlertBehavior, "accept");
Driver = new ChromeDriver(@"C:\Development\Projects\SeleniumObservatoryTests\", capabilities);ChromeDriver似乎需要一些选项。有没有办法提供UnexpectedAlertBehavior作为一种选择?
发布于 2017-04-01 04:53:32
我也没能让它在Chrome上工作。对于火狐,我必须使用DesiredCapabilities,而对于IE,我必须使用InternetExplorerOptions。
但是,我已经用Chrome成功地处理了弹出窗口,并编写了一些代码来处理它。
我的代码发布在下面。我希望它能对你和其他被Modal对话困扰的人有所帮助。
/// <summary>
/// Returns a true or false if alert is present.
/// </summary>
/// <returns>true or false</returns>
public static bool IsAlertPresent()
{
try
{
[YOUR DRIVER HERE].SwitchTo().Alert();
return true;
}
catch (Exception)
{
return false;
}
}
/// <summary>
/// Verifies if an alert is present or not. If it is, it clicks "Accept".
/// </summary>
public static void Alert()
{
try
{
if (IsAlertPresent())
[YOUR DRIVER HERE].SwitchTo().Alert().Accept();
}
catch (Exception ex)
{
///Log your errors however you must.
}
}我知道这不是什么花哨的东西,但它能完成工作。基本上,它会尝试切换到一个警报,如果存在,则返回true,如果不存在,则返回false。如果为true,则再次切换并单击accept。非常简单。还没让我失望呢。
发布于 2020-07-08 22:19:47
您应该能够添加具有以下内容的功能:
var options = new ChromeOptions();
options.AddAdditionalCapability(CapabilityType.UnexpectedAlertBehavior, "accept");您也可以忽略该警报:
var options = new ChromeOptions();
options.AddAdditionalCapability(CapabilityType.UnexpectedAlertBehavior, "ignore");https://stackoverflow.com/questions/42055979
复制相似问题