如何在selenium远程webdriver中禁用Flash

Pan*_*hul 9 selenium selenium-rc selenium-webdriver

使用Selenium Remote WebDriver时,如何禁用Flash对象的加载.如果我得到普通webdriver的解决方案也会有所帮助.

因为在大多数情况下,Flash对象是由JavaScript加载的,我试过禁用webdriver和远程webdriver上的javascript,但它不起作用.

我试图通过以下方式禁用JavaScript:

WebDriver driver = new FirefoxDriver();
((DesiredCapabilities) driver.getCapabilities()).setJavascriptEnabled(false);
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

DesiredCapabilities caps = new DesiredCapabilities();
caps.setJavascriptEnabled(false);
WebDriver driver = new FireFoxDriver(caps);
Run Code Online (Sandbox Code Playgroud)

对于Remote WebDriver,我试过:

final DesiredCapabilities firefoxCapability = DesiredCapabilities.firefox();
firefoxCapability.setJavascriptEnabled(false);
new RemoteWebDriver(new URL("http://" + windowsIP + ":4444/wd/hub"), firefoxCapability);
Run Code Online (Sandbox Code Playgroud)

执行上述语句后,将显示远程服务器

Executing: [new session: <platform=ANY, javascriptEnabled=false, browserName=firefox, version=>] at URL:/session>
Run Code Online (Sandbox Code Playgroud)

但仍然所有的Javascript都在驱动程序加载的页面上执行,Flash也在加载.

请帮帮我:1.如何阻止闪光灯加载.2.需要在远程驱动程序上使用它,因为我需要在IE,Firefox,Chrome上测试页面.因此加载forefox配置文件将无法正常工作

感谢您的帮助.

Tas*_*han 4

我在 Linux mint 上使用了这段代码,它可以工作:

FirefoxProfile profile= new FirefoxProfile();
profile.setPreference("plugin.state.flash", 0);
FirefoxDriver driver = new FirefoxDriver(profile);
Run Code Online (Sandbox Code Playgroud)