2012-10-01 11 views
9

Jak wyłączyć ładowanie obiektów flash podczas korzystania z Selenium Remote WebDriver. Pomocne będzie, jeśli otrzymam rozwiązanie również dla zwykłego oprogramowania Webdriver.Jak wyłączyć Flash w zdalnym administratorze selenowym

Ponieważ w większości przypadków obiekt Flash jest ładowany przez JavaScript Próbowałem wyłączyć javascript na webdriverze i zdalnym webdriverze, ale to nie działa.

Próbowałem wyłączyć JavaScript przez:

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

Próbowałem również:

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

Dla zdalnego WebDriver Próbowałem:

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

po wykonaniu powyższego zestawienia zdalny serwer wyświetla

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

ale nadal cały Javascript jest wykonywany na stronach ładowanych przez sterownik i ładuje się Flash.

Proszę mi pomóc: 1. w jaki sposób można zatrzymać ładowanie lampy błyskowej. 2. Potrzebuję go na zdalnym sterowniku, ponieważ muszę przetestować strony na IE, Firefox, Chrome. Dlatego ładowanie profilu forefox nie zadziała

Dziękuję za pomoc.

+0

znalazłeś odpowiedź? –

+0

Powinieneś zdecydowanie przyjąć odpowiedź udzieloną przez @TasawerKhan. – alecxe

Odpowiedz

4

Użyłem tego kodu na Linux Mint i działa :

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

choć to już odpowiedział na pytanie, ale na innym forum ... więc będzie konsolidować dla Ciebie ...

Nie jestem pewien, czy obiekty Flash są ładowane przez javascript .... ale jeśli jest wyłączenie JavaScript problem wtedy ...

Nigdy nie wyłącz JavaScript dla sterownika Firefox, na wypadek gdyby chciał go wyłączyć, spróbuj z HTMLUNITDRIVER, który specjalnie przeznaczony jest dla stron innych niż javascript.

Powód będący istotną częścią sterownika firefox został zaimplementowany w javascript, a wyłączenie go spowodowałoby poważne obawy.

HtmlUnitDriver drugiej strony jest najszybszy i najlepszy sposób dla testów automatyki (splly stron bez JS)

proszę sprawdzić tę dyskusję grupową https://groups.google.com/forum/?fromgroups=#!topic/webdriver/daLOzCiU_h4%5B1-25%5D

+0

Dziękuję za odpowiedź. – Panshul

+0

Dziękuję za odpowiedź.
1. Istnieje wiele stron, z których korzystałem, używając skryptu java do załadowania filmu flash z adresu URL, więc aby zatrzymać ładowanie lampy błyskowej, muszę wyłączyć skrypt java.
2.z HTMLunit Nie mogę przetestować strony w różnych przeglądarkach (firefox, chrome, IE), dlatego używam zdalnych sterowników internetowych. – Panshul

+0

Witamy :). Sam HTMLUnitdriver to inna przeglądarka, taka jak FF, IE i Chrome, ale zaimplementowana w Javie. Da to wynik, ale nie dokładny. - Wiem, że to nie jest lepsze rozwiązanie, ale w Firefoksie możesz ręcznie utworzyć profil z wyłączoną funkcją Flash (więc blokujesz flash), a następnie ponownie użyć tego samego profilu dla wielu instancji zdalnego sterownika, jak również_ – Anuragh27crony

0

Miałem ten sam problem i potrzebowałem go rozwiązać w Chrome. Oto, jak udało mi się go uruchomić:

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