gpt4 book ai didi

java - 如何避免 Firefox 中的窗口下载​​弹出窗口使用 Java selenium?我需要自动下载而不询问弹出窗口吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:42 26 4
gpt4 key购买 nike

我的代码在这里:-

 WebDriver driver = new FirefoxDriver();
driver.get("http://www.sample-videos.com/");
driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.findElement(By.xpath(".//*[@id='sample-mp4-video']/table/tbody/tr[0]/td[4]")).click();

目标是处理窗口弹出,以便下载文件保存到本地驱动器。

有什么方法可以自动使用selenium

最佳答案

您可以通过自定义首选项来自动下载文件。您需要在 browser.download.dir 中定义下载文件夹以及将要下载的文件的 MIME 类型(在您的示例中为 video/mp4)。请注意,MIME 类型是请求响应中返回的 Content-Type header 。

这是您帖子中页面的工作示例:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.dir", "C:\\Temp"); // folder
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "video/mp4"); // MIME type
profile.setPreference("pdfjs.disabled", true); // disable the built-in viewer
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.panel.shown", false);

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
capabilities.setCapability(CapabilityType.ELEMENT_SCROLL_BEHAVIOR, 1);

WebDriver driver = new FirefoxDriver(capabilities);
driver.get("http://www.sample-videos.com/");

// click on the link "10 mp4 720x480"
driver.findElement(By.xpath("//tr[td='10'][td='mp4'][td='720x480']//a")).click();

关于java - 如何避免 Firefox 中的窗口下载​​弹出窗口使用 Java selenium?我需要自动下载而不询问弹出窗口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37154746/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com