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
不是一个解决方案,因为测试变得非常不稳定。
也许有人遇到这个问题,可以提供一个解决方案。
动作由3个步骤组成。
配置动作
Actions builder = new Actions(driver);
builder.MoveToElement(_element).Release().click();
获取动作
Action pushButton = builder.build();
执行pushButton.perform();
告诉我你是否因此而进步了。
编辑: .Release()
用于拖放操作。
我找到了两个规格,这里和这里。好读。