2012-10-01 11 views
9

Wie kann ich das Laden von Flash-Objekten deaktivieren, wenn Sie Selenium Remote WebDriver verwenden? Es wird hilfreich sein, wenn ich auch eine Lösung für den normalen Webdriver bekomme.So deaktivieren Sie Flash in Selen remote webdriver

Da in den meisten Fällen das Flash-Objekt von einem JavaScript geladen wird Ich habe versucht, das Javascript auf dem Webdriver und Remote-Webdriver beide deaktivieren, aber es funktioniert nicht.

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

Nach Durchführung der obigen Aussage:

Ich versuchte, das JavaScript von bis zu deaktivieren:

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

ich auch versucht: Ich habe versucht,

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

für Fern WebDriver Der Remote-Server zeigt

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

aber noch läuft das ganze Javascript auf den Seiten, die der Treiber lädt und der Flash wird ebenfalls geladen.

Bitte helfen Sie mir: 1. Wie kann der Blitz vom Laden gestoppt werden. 2. brauche es auf Remote-Treiber, wie ich die Seiten auf IE, Firefox, Chrome testen muss. Daher funktioniert das Laden des Forefox-Profils nicht

Vielen Dank für die Hilfe.

+0

Haben Sie eine Antwort gefunden? –

+0

Sie sollten die Antwort von @TasawerKhan unbedingt akzeptieren. – alecxe

Antwort

4

ich diesen Code auf Linux Mint benutzt und es funktioniert :

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

obwohl es bereits Frage beantwortet, aber auf anderes Forum ... so werde ich für Sie konsolidiert ...

Ich bin mir nicht sicher, ob Flash-Objekte von Javascript geladen werden .... aber wenn deaktivieren Javascript ist Problem dann ...

Deaktivieren Sie nie Javascript für Firefox-Treiber, falls Sie es deaktiviert verwenden möchten, versuchen Sie mit HTMLUNITDRIVER, die speziell für Nicht-Javascript-Seiten gedacht.

Grund ist wichtig Teile von Firefox-Treiber ist in Javascript implementiert und deaktivieren würde ernsthafte Bedenken haben.

HtmlUnitDriver auf der anderen Seite ist schnellste und beste Weg für die Automatisierung Tests (splly für Seiten ohne JS)

Bitte überprüfen Sie diese Gruppendiskussion https://groups.google.com/forum/?fromgroups=#!topic/webdriver/daLOzCiU_h4%5B1-25%5D

+0

Danke für die Antwort. – Panshul

+0

Danke für die Antwort.
1. Es gibt viele Seiten, auf die ich gestoßen bin, die Java-Script verwenden, um den Flash-Film von einer URL zu laden. Um den Flash zu stoppen, muss ich das Java-Script ausschalten.
2.Mit HTMLunit kann ich die Seite nicht auf verschiedenen Browsern (Firefox, Chrome, IE) testen, deshalb verwende ich Remote-Webtreiber. – Panshul

+0

Willkommen :). HTMLUnitdriver selbst ist ein anderer Browser wie FF, IE & Chrome, aber in Java implementiert. Dies wird Ihnen ein Ergebnis geben, aber nicht genau. _Ich weiß, dass dies keine bessere Lösung ist, aber für Firefox können Sie Profile manuell erstellen, wenn Flash deaktiviert ist (also den Flash-Speicher blockiert) und dann dasselbe Profil für mehrere Instanzen des Remote-Treibers wiederverwenden_ – Anuragh27crony

0

Ich hatte das gleiche Problem und brauchte es für Chrome gelöst werden. So funktioniert es:

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