c# Selenium WebDriver.Firefox浏览器阻止弹出窗口

本文关键字:窗口 浏览器 Selenium WebDriver Firefox | 更新日期: 2023-09-27 18:07:37

我使用的是Firefox 19.0.2, Selenium 2.31.2.0

在设置方法中,我通过firefox配置文件启用了弹出框阻止firefoxProfile.SetPreference("dom。disable_open_during_load",真正的);此选项是必需的,因为客户希望在启用弹出窗口阻止的情况下所有工作。

在测试中,我需要向外部社区分享内容。当我按下按钮外部社区弹出出现。问题是当我用手执行这个动作时,一切都很好,弹出框不会阻塞。当我尝试通过WebDriver点击这个按钮时,Firefox会弹出阻止。

点击按钮:

//kind of mouse over emulation
    new Actions(Driver).MoveToElement(_element).Release(_element).Build().Perform();
    _element.Click();

我认为问题是在本地按钮点击和点击由WebDriver执行的差异。在firefox配置文件中设置EnableNativeEvents = true不是一个解决方案,因为测试变得非常不稳定。

也许有人遇到这个问题,可以提供一个解决方案。

c# Selenium WebDriver.Firefox浏览器阻止弹出窗口

动作由3个步骤组成。

配置动作

Actions builder = new Actions(driver); 
builder.MoveToElement(_element).Release().click();

获取动作

Action pushButton = builder.build();
执行

pushButton.perform();

告诉我你是否因此而进步了。

编辑:

.Release()用于拖放操作。

我找到了两个规格,这里和这里。好读。