转自:https://blog.csdn.net/zbj18314469395/article/details/81207268
直接上代码:
import java.util.HashMap; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.annotations.AfterClass; import org.testng.annotations.Test; public class testChromeDownload { WebDriver driver; @Test public void testOne() throws Exception { //使用Chrome浏览器自动下载文件并保存到指定的文件路径 //或 使用Selenium更改Chrome默认下载存储路径 System.setProperty("webdriver.chrome.driver", "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe");//设置驱动的路径 DesiredCapabilities caps = setDownloadsPath();//更改默认下载路径 driver = new ChromeDriver(caps); driver.manage().window().maximize(); driver.get("https://pypi.org/project/selenium/#files");//到目标网页 WebElement myElement = driver.findElement(By.xpath("//a[contains(text(),'selenium-3.13.0.tar.gz')]")); Actions action = new Actions(driver); myElement.click();//点击下载 Thread.sleep(10000); } //单独重构成一个方法,然后调用 public DesiredCapabilities setDownloadsPath() { String downloadsPath = "D:\dataSource\outputReport\Downloads"; HashMap<String, Object> chromePrefs = new HashMap<String, Object>(); chromePrefs.put("download.default_directory", downloadsPath); ChromeOptions options = new ChromeOptions(); options.setExperimentalOption("prefs", chromePrefs); DesiredCapabilities caps = new DesiredCapabilities(); caps.setCapability(ChromeOptions.CAPABILITY, options); return caps; } @AfterClass public void tearDown(){ driver.quit(); } }