Selenium将PDF下载到默认文件夹(下载),但未在chromePrefs中指定

nhaq1z21  于 2022-12-13  发布在  其他
关注(0)|答案(2)|浏览(213)

在我的自动化框架中使用Selenium Java并尝试从Chrome下载PDF,下面是我的代码:

System.setProperty("webdriver.chrome.driver", "resources/drivers/chromedriver.exe");
        
        ChromeOptions options = new ChromeOptions();
        
        HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
        chromePrefs.put("profile.default_content_settings.popups", 0);
        chromePrefs.put("plugins.always_open_pdf_externally", true);
        chromePrefs.put("download.default_directory", "C:");
        options.setExperimentalOption("prefs", chromePrefs);
        
        driver = new ChromeDriver(options);

我指定了位置“C:“(仅用于测试目的),但问题是它在Downloads文件夹中下载PDF。
也有一种方法来指定我试图下载的文件名吗?

lymgl2op

lymgl2op1#

我解决了这个问题,这个问题是不建议使用文件夹,如:“C:“或“桌面”或相对路径,这就是它不工作的原因。

tjrkku2a

tjrkku2a2#

试试这个,应该可以:

String desired_path = "D:\\user\\report";
HashMap hm = new HashMap();
hm.put("download.default_directory",desired_path);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs",hm);
WebDriver driver = new ChromeDriver(options);

相关问题