2012-10-01 18 views
9

Cómo deshabilito la carga de objetos flash cuando uso Selenium Remote WebDriver. Será útil si también obtengo una solución para el controlador web normal.Cómo deshabilitar Flash en selenium remote webdriver

Dado que en la mayoría de los casos el objeto Flash está cargado por un JavaScript He intentado deshabilitar el javascript en el webdriver y el controlador web remoto, pero no funciona.

Me trataron de desactivar el código JavaScript por:

WebDriver driver = new FirefoxDriver(); 
((DesiredCapabilities) driver.getCapabilities()).setJavascriptEnabled(false); 

También probé:

DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setJavascriptEnabled(false); 
WebDriver driver = new FireFoxDriver(caps); 

Para WebDriver remoto he intentado:

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

Después de la ejecución de la declaración anterior el servidor remoto muestra

Executing: [new session: <platform=ANY, javascriptEnabled=false, browserName=firefox, version=>] at URL:/session> 

pero todavía todo el Javascript se está ejecutando en las páginas que carga el controlador y Flash también se está cargando.

Por favor, ayúdenme: 1. cómo se puede detener la carga del flash. 2. lo necesito en un controlador remoto ya que necesito probar las páginas en IE, Firefox, Chrome. Por lo tanto, cargar el perfil de forefox no funcionará

Gracias por la ayuda.

+0

¿Encontró una respuesta? –

+0

Definitivamente debe aceptar la respuesta proporcionada por @TasawerKhan. – alecxe

Respuesta

4

He utilizado este código en la menta de Linux y funciona :

FirefoxProfile profile= new FirefoxProfile(); 
profile.setPreference("plugin.state.flash", 0); 
FirefoxDriver driver = new FirefoxDriver(profile); 
0

pesar de que ya ha contestado la pregunta, pero en diferentes foros ... así que voy a consolidar para usted ...

no estoy seguro de si los objetos Flash se cargan mediante javascript .... pero si es deshabilitar JavaScript problema, entonces ...

Nunca deshabilite Javascript para el controlador de Firefox, en caso de que si desea utilizarlo está deshabilitado, intente con HTMLUNITDRIVER, especialmente para páginas que no sean javascript.

Motivo por el que las partes importantes del controlador de firefox están implementadas en javascript y la desactivación tendría serias preocupaciones.

HtmlUnitDriver por el contrario es más rápida y mejor manera para las pruebas de automatización (splly de páginas sin JS)

favor marque esta discusión en grupo https://groups.google.com/forum/?fromgroups=#!topic/webdriver/daLOzCiU_h4%5B1-25%5D

+0

Gracias por la respuesta. – Panshul

+0

Gracias por la respuesta.
1. Hay muchas páginas que he encontrado que usan una secuencia de comandos java para cargar la película flash desde una url, por lo que para detener la carga del flash necesito desactivar la secuencia de comandos java.
2.con HTMLunit no puedo probar la página en diferentes navegadores (firefox, chrome, IE), por esa razón estoy usando controladores web remotos. – Panshul

+0

Bienvenido :). HTMLUnitdriver en sí mismo es un navegador diferente como FF, IE y Chrome pero implementado en Java. Esto le dará un resultado pero no el correcto. Sé que esta no es una solución mejor, pero para Firefox puedes crear manualmente un perfil con Flash deshabilitado (bloqueando el flash) y luego reutilizar el mismo perfil para varias instancias de controlador remoto también_ – Anuragh27crony

0

Tuve el mismo problema y necesitaba que se resolviera para Chrome. Así es como lo hice funcionar:

ChromeOptions options = new ChromeOptions(); 
    options.addArguments("--disable-bundled-ppapi-flash"); 
    WebDriver webDriver = new org.openqa.selenium.chrome.ChromeDriver(options); 
Cuestiones relacionadas