2

在使用机器人 api 拖放鼠标位置时,我的鼠标位置被询问“允许运行 silverlight?”的警报干扰(以全屏模式运行 firefox)。由于此警报,即使我的 webdriver api 也受到影响,因为打算在一个按钮上发生的点击在另一个按钮上执行。

我正在使用 WebDriver 来自动化我的场景,并结合机器人 api 进行拖放。有没有办法我可以在 Firefox 配置文件中设置一些东西,这样这个警报就不会出现?

下图显示了警报

https://drive.google.com/file/d/0B36CJTZFg52aUFhvWmZIVzNleEk/view?usp=sharing

4

2 回答 2

2

在 Windows 上,您可以执行以下操作:

// Enable Silverlight
profile.setPreference("plugin.state.npctrl", 2);

在 OSX 上:

// Enable Silverlight
profile.setPreference("plugin.state.silverlight", 2);

在 Windows 上,DLL 名称是 npctrl.dll,所以我相信这就是“npctrl”的来源。您可以从以下位置看到这一点:

about:plugins

对于 Linux,您将不得不检查。打开两个选项卡之一:

about:addons

另一个用于:

about:config

在 about:addons 中使 Silverlight 插件始终被激活。

在 about:config 中按“plugins.state”过滤。当您更改 about:addons 中的激活状态时更改的项目是您添加以添加到 FireFox 配置文件的项目。

于 2015-01-07T01:59:44.883 回答
0

您可以创建新的 Firefox 配置文件

http://www.toolsqa.com/selenium-webdriver/custom-firefox-profile/

通过打开 Firefox 配置文件管理器,然后按添加配置文件按钮,您可以命名它。你需要在 FireFox 中打开该配置文件,下载 Silverlight 插件,安装它,然后转到 firefox 插件管理器

https://helpdesk.contentraven.com/hc/en-us/articles/201455107-Mozilla-Firefox-and-Silverlight-Plug-In

在管理器中,您必须将 silverlight 插件设置为始终激活。

然后,您必须在调用驱动程序时调用此配置文件:

ProfilesIni profile = new ProfilesIni();

FirefoxProfile your_profile = profile.getProfile("<name of your profile>");

WebDriver driver = new FirefoxDriver(your_profile);
于 2014-11-10T14:26:03.753 回答