2012-10-01 22 views
9

Làm cách nào để vô hiệu hóa tải các đối tượng flash khi sử dụng Selenium Remote WebDriver. Sẽ rất hữu ích nếu tôi nhận được giải pháp cho trình quản trị trang web thông thường.Cách tắt Flash trong trình điều khiển web từ xa selenium

Vì trong hầu hết các trường hợp, đối tượng Flash được tải bởi JavaScript Tôi đã thử tắt javascript trên trình quản trị web và cả trình điều khiển web từ xa cả hai, nhưng nó không hoạt động.

tôi cố gắng để vô hiệu hóa JavaScript bằng cách:

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

Tôi cũng đã cố gắng:

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

Đối WebDriver từ xa tôi đã cố gắng:

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

Sau khi thực hiện các tuyên bố trên máy chủ từ xa hiển thị

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

nhưng vẫn tất cả Javascript đang thực thi trên các trang mà trình điều khiển tải và Flash cũng đang tải.

Vui lòng giúp tôi: 1. cách ngăn tải flash. 2. cần nó trên trình điều khiển từ xa như tôi cần phải kiểm tra các trang trên IE, Firefox, Chrome. Do đó việc tải hồ sơ forefox sẽ không hoạt động

Cảm ơn sự giúp đỡ của bạn.

+0

bạn có tìm thấy câu trả lời không? –

+0

Bạn chắc chắn phải chấp nhận câu trả lời được cung cấp bởi @TasawerKhan. – alecxe

Trả lời

4

tôi đã sử dụng mã này trên Linux bạc hà và nó hoạt động :

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

mặc dù nó đã trả lời câu hỏi nhưng trên diễn đàn khác nhau ... vì vậy tôi sẽ củng cố cho bạn ...

Tôi không chắc chắn nếu các đối tượng flash được nạp bằng javascript .... nhưng nếu vô hiệu hóa javascript là vấn đề sau đó ...

Không bao giờ tắt Javascript cho trình điều khiển Firefox, trong trường hợp nếu bạn muốn sử dụng nó bị tắt, hãy thử với HTMLUNITDRIVER có ý nghĩa đặc biệt đối với các trang không phải là javascript.

Lý do là các phần quan trọng của trình điều khiển firefox được triển khai trong javascript và vô hiệu hóa sẽ có những mối quan tâm nghiêm trọng.

HtmlUnitDriver mặt khác là nhanh nhất và cách tốt nhất để kiểm tra tự động hóa (splly cho các trang không có JS)

hãy kiểm tra thảo luận nhóm này https://groups.google.com/forum/?fromgroups=#!topic/webdriver/daLOzCiU_h4%5B1-25%5D

+0

Cảm ơn bạn đã trả lời. – Panshul

+0

Cảm ơn bạn đã trả lời.
1. Có rất nhiều trang tôi đã đi qua mà sử dụng kịch bản java để tải phim flash từ một url, do đó, để ngăn chặn các flash từ tải tôi cần phải tắt kịch bản java.
2.với HTMLunit Tôi không thể kiểm tra trang trên các trình duyệt khác nhau (firefox, chrome, IE), vì lý do đó tôi đang sử dụng trình điều khiển web từ xa. – Panshul

+0

Chào mừng :). HTMLUnitdriver chính nó là một trình duyệt khác nhau như FF, IE & Chrome nhưng thực hiện trong java. Điều này sẽ cho u kết quả nhưng không chính xác nhất. _Tôi biết đây không phải là giải pháp tốt hơn, nhưng đối với Firefox, bạn có thể tự tạo hồ sơ với Flash bị vô hiệu hóa (để chặn flash) và sau đó sử dụng lại cùng một hồ sơ cho nhiều phiên bản của trình điều khiển từ xa. – Anuragh27crony

0

Tôi gặp sự cố tương tự và cần giải quyết vấn đề này cho Chrome. Đây là cách tôi đã làm việc này:

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