2017-05-10 32 views
0

我需要用Selenium下載pdf文件。這個pdf文件是在點擊一個按鈕時下載的。該文件的URL不可訪問,該按鈕直接提交表單和服務器響應文件(沒有確認對話框)。如果使用WebDrivers與GUI無法使用時,如何使用Selenium下載文件?

我使用PhantomJS WebDriver(該項目是在C#中),因爲該應用程序將是一個Azure的Web應用程序,所以我不能使用ChromeDriver或類似的。問題是PhantomJS無法處理二進制文件,所以當我模擬點擊按鈕時,應用程序不會下載任何東西。

任何想法??

P.D:Selenium不僅是PDF下載,該項目做了很多報廢。

+0

你不必與文件本身交互只是按鈕;所以你只需點擊..我是對的?你可以使用自定義waitAndClick()方法等待元素可見,可點擊然後使用Actions類來聚焦元素並點擊它 – kushal

+0

可能我沒有很好地表達它......當點擊按鈕時,開始下載(當我使用ChromeDriver時)。但是當按下「PhantomJS」按鈕時沒有任何事情發生。 – p0kero

+0

好吧,你可以嘗試點擊使用硒的'JavascriptExceutor'來點擊那個按鈕元素 – kushal

回答

1

如果您使用的是Azure,並且您無法找到任何解決方案,我會建議使用圖形界面提供虛擬機,以便運行ChromeDrive(或另一個)的實例。

+0

也許我會使用正在開發的PhantomJs的一個分支,叫做YorksitoJS。 – p0kero