2013-03-21 36 views
6

Tôi đang sử dụng Capybara bằng Chrome và Selenium. Khi tôi cố gắng nhấp vào liên kết gây ra tải xuống tự động, tệp được tải xuống chính xác. Nếu tôi cố gắng làm lại điều này, Chrome sẽ hiển thị thông báo: "Trang web này đang cố tải xuống nhiều tệp. Bạn có muốn cho phép điều này không?"Cách tải xuống nhiều tệp trên Chrome bằng Capybara/Selenium?

enter image description here

tôi đang tìm kiếm một flag mà có thể được sử dụng để vô hiệu hóa thông báo này, nhưng không thể tìm thấy bất cứ điều gì. Có cách nào tôi có thể nhận được xung quanh tin nhắn này và cho phép tải xuống nhiều mà không cần phải sử dụng để làm mới trang không? (Ví dụ: Có cách nào tôi có thể nhấp vào nút Cho phép theo chương trình không?)

+0

Dưới đây là bài viết của tôi về cách tìm cờ phù hợp với thiết lập của bạn: http://stackoverflow.com/a/36821119/4854090 –

Trả lời

-2

Nếu không có giải pháp nào tốt hơn, bạn có thể lấy phần tử và nhấp vào phần tử đó.

driver.findElement(By.xpath("xpath")).click(); 
+0

Anh ấy đang nhấp vào nó. Đó chính là vấn đề. Trình duyệt đang sử dụng một nỗ lực thô lỗ tại một biện pháp an ninh để chặn nhiều lượt tải xuống và dường như không có cách nào dễ dàng xung quanh nó. Tôi đã thấy mọi người nói về việc chuyển đổi cờ 'yêu cầu tôi lưu nội dung tải xuống' trong cài đặt, nhưng điều đó không hiệu quả đối với tôi. –

0

Sử dụng Chrome Tùy chọn

WebDriver driver = null; 
ChromeOptions options = new ChromeOptions(); 
     Map<String, Object> prefs = new HashMap<String, Object>(); 
     prefs.put("profile.default_content_settings.popups", 0); 
     prefs.put("profile.content_settings.pattern_pairs.*.multiple-automatic-downloads", 1); 
     //Turns off download prompt 
     prefs.put("download.prompt_for_download", false); 
     options.setExperimentalOption("prefs", prefs); 

    driver = new ChromeDriver(options); 
Các vấn đề liên quan