我在Selenium 2.21.0中使用Java 6.我如何使用Selenium WebDriver API在網頁上下載文件?也就是說,有一個鏈接導致Excel文件的下載啓動。我想知道如何啓動下載,確定何時完成,然後找出文件下載到本地系統的位置。如何使用Java Selenium WebDriver下載文件?
回答
一旦你點擊任何鏈接下載文件,它取決於瀏覽器的行爲,如 Chrome行爲:一旦用戶點擊任何文件的鏈接,它將默認開始下載文件。 IE行爲:IE在窗口底部顯示一個欄並顯示選項以保存或取消文件下載。 FireFox行爲:這將顯示一個對話框窗口並顯示選項以保存或取消文件下載。 所以這可以通過FireFox Profile來實現。 在下載任何文件之前,您必須將文件的MIME類型傳遞給FireFox配置文件。 一些常用的MIME類型有: 文本文件(.txt) - 純文本/ PDF文件(.PDF) - 應用程序/ PDF CSV文件(.csv) - 文本/ CSV MS Excel文件(。 XLSX) - 應用/ vnd.openxmlformats-officedocument.spreadsheetml.sheet MS字文件(.DOCX) - 應用/ vnd.openxmlformats-officedocument.wordprocessingml.document
這裏是代碼:
import org.openqa.selenium.By;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
public class DownloadFiles {
public static void main(String[] args) throws InterruptedException {
//Create FireFox Profile object
FirefoxProfile p = new FirefoxProfile();
//Set Location to store files after downloading.
profile.setPreference("browser.download.folderList", 2);
//Set preference not to file confirmation dialogue
profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
"application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet");
// Specify the local system path where to download
p.setPreference("browser.download.dir", "D:\\downloads");
// Pass Profile parameters in Firefox browser
FirefoxDriver driver = new FirefoxDriver(profile);
// Open APP to download application
driver.get("http://url");
// Click to download
driver.findElement(By.xpath("//html[@attribute='value']")).click();
Thread.sleep(5000);
driver.close();
希望它能解決您的疑問。快樂的編碼。
我特別關注Firefox瀏覽器,當訪問者點擊任何下載鏈接時,您可以使用下載選項附帶的彈出選項。它顯示了兩個按鈕和兩個單選按鈕,可以讓我們直接保存並打開文件,而無需事後下載,如果我們發現該文件很有用,我們可以通過Firefox瀏覽器上述工具欄上的下載圖標明確下載。 所以,你可以執行以下步驟
1)點擊下載鏈接
WebDriver driver = new FirefoxDriver();
driver.findElement(By.linkText(「somelink」)).click();
上面的代碼可以幫助webdriver的識別對象並執行其中提到
2)的作用點擊下載鏈接後,Firefox瀏覽器將彈出一個下載對話框,其中包含多個選項 Like Save單選按鈕,打開單選按鈕,ok按鈕,取消按鈕以便使用此 您可以使用Robot類或Keys WebDriver 像
Robot r = new Robot();
r.KeyPress(KeyEvent.VK_TAB);
你可以使用盡可能多的時間在上面的代碼按Tab鍵
r.KeyRelease(KeyEvent.VK_TAB);
你必須放開按鍵
最後執行進入
r.KeyPress(KeyEvent.VK_ENTER);
就是這樣它會幫助你在下載鏈接被壓制時下載對象使用sed
希望它會幫助你
- 1. Selenium WebDriver(Ruby):如何下載PDF文件?
- 2. 如何使用selenium python webdriver下載PDF文件?
- 3. 如何使用Selenium WebDriver下載APK文件
- 4. Selenium Webdriver:如何使用Python下載PDF文件?
- 5. Selenium webdriver下載pdf
- 6. 使用Watir Webdriver下載文件
- 7. 等待下載完成在selenium webdriver JAVA
- 8. 使用Selenium WebDriver下載pdf for Firefox
- 9. 使用機器人類的Selenium webdriver中的文件下載
- 10. 獲取.part evertime我使用python下載selenium webdriver中的文件
- 11. 使用Selenium webdriver查找下載的文件
- 12. 使用Selenium WebDriver將文件下載到特定路徑
- 13. Selenium webdriver使用相對路徑上傳下載文件
- 14. 使用selenium webdriver從sharepoint下載文件python
- 15. 幫助Selenium Webdriver下載?
- 16. 如何閱讀在python中由selenium webdriver下載的文件
- 17. 如何處理在selenium webdriver中下載文件?
- 18. 如何檢查下載的文件Selenium WebDriver?
- 19. Selenium:用Java打開下載的文件
- 20. Selenium Webdriver使用Java的ElementNotVisibleException
- 21. 如何在使用Java的Selenium WebDriver中按下「ALT + S」
- 22. 如何使用JAVA中的selenium接受firefox webdriver上的下載提示?
- 23. 如何使用Selenium的webdriver
- 24. 如何使用Selenium Safari Webdriver
- 25. 如何使用Selenium Webdriver?
- 26. 如何使用Selenium WebDriver telnet
- 27. 如何使用Selenium的webdriver
- 28. 如何使用Selenium的webdriver
- 29. 如何使用Selenium的webdriver
- 30. 用selenium webdriver捕獲下載的pdf文件名
[這](http://sqa.stackexchange.com/questions/2197/how-do-i-download-a-file-using-seleniums-webdriver)可能幫幫我。 –