当前位置: 首页 > 知识库问答 >
问题:

需要使用Selenium设置Chromium Edge浏览器的下载目录

孙嘉
2023-03-14

我试图在自动化过程中为selenium设置Chromium Edge浏览器的下载目录。

对于Chrome,我可以使用如下Chrome选项实现这一点:options.setExperimental选项(“download.default_directory”,downloadFilepath);

我需要为Chromium边缘浏览器做同样的事情。如何下载自定义文件夹内的文件,而不是我们系统中默认的下载文件夹

共有2个答案

鄢晔
2023-03-14

Python和Selenium with Edge Version 95.0.1020.30我能够像这样定义下载目录:

>

  • 在Edge中单击个人资料(图标:带有人物轮廓的圆圈)并选择您用于测试的个人资料。我这样设置了我的个人资料:(但Edge中的个人资料名称仍然是“个人资料2”,我无法解释!)

    edge _ options = edge options()edge _ options . use _ chromium = True edge _ options . add _ argument(" profile-directory = Matt Tester 1 ")

    在菜单下面的三个点...选择“设置”

    单击左侧菜单项:“下载”

    第一项是“位置”单击“更改”按钮以设置下载文件夹的路径。

  • 胡高寒
    2023-03-14

    如果你使用的是C#语言,那么你可以参考下面的步骤。

    (1) 下载Selenium。Webdriver和Microsoft.Edge。SeleniumTools使用Nuget包管理器。

    (2) 示例代码:

    using Microsoft.Edge.SeleniumTools;
    
            static void Main(string[] args)
            {
                var options = new EdgeOptions();
                options.UseChromium = true;
                options.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe";   // Here add the Edge browser exe path.
                options.AddUserProfilePreference("download.default_directory", @"D://Folder1");             // Here modify the download path.
                var driver = new EdgeDriver(@"D:\selenium web drivers\edgedriver_win64 83.0.478.61\", options); // Here modify the selenium web driver path.
            }
    

    如果您使用的是JAVA语言,请尝试参考下面的示例。

    (1) 在 JAVA 项目中下载并添加对 Selenium-server-4.0.0-alpha-5.jar 的引用。

    (2) 示例代码:

    public static void main(String[] args) 
    {       
        System.setProperty("webdriver.edge.driver","D:\\selenium web drivers\\edgedriver_win64 83.0.478.61\\msedgedriver.exe");                     
        Map<String, Object> prefs = new HashMap<String, Object>();                                                       
        prefs.put("download.default_directory","D:\\Folder1");                         
        EdgeOptions op=new EdgeOptions();
        op.setExperimentalOption("prefs", prefs);             
        WebDriver browser = new EdgeDriver(op);
        browser.get("https://microsoft.com");
    
    }
    

    您可以根据自己的要求尝试修改代码。

    如果您正在使用任何其他开发语言,那么您可以尝试将上述示例转换为可能有助于实现您的需求的语言。

     类似资料:
    • 我知道这个问题已经被问了好几次了,但这些问题的解决方案对我的情况没有帮助。 我想从这个网站下载一个数据集:https://datadashboard.fda.gov/ora/cd/inspections.htm 以下是“数据集”的HTML: 以下是“整个检测数据集”的 HMTL: 下面是我获取数据集的代码: 我也尝试过: 但我得到这个错误: 文件“FDAComplianceDashboardIns

    • 我想运行和控制一个浏览器窗口从一个web应用程序,以自动化的一些事情(如帐户创建等)在另一个网站。 所以我的问题是,有没有一种方法可以直接从浏览器使用selenium来实现它,在这种情况下如何实现它? 我知道有selenium-webdriver for JS,但在常见的用例中,我们将它与Node.JS一起使用。 WebDriver介绍建议这是可能的: 它的主要目的是允许web作者编写测试,使用户

    • 我一直在使用chrome浏览器玩SeleniumJavaWebDriver,到目前为止已经取得了相当大的成功。我已经能够启动铬窗口,发送和接收数据只是罚款。我现在需要找出以下Firefox浏览器配置文件设置的chrome等效项。 计划做类似的事情(参考:https://sites.google.com/a/chromium.org/chromedriver/capabilities)但需要如上所述

    • 我正在使用selenium使用chrome浏览器来自动化网页,但是chrome浏览器没有启动,它在地址栏中显示“数据:;”而没有加载任何页面。 selenium: selenium-服务器-独立-3.0.0-beta2,也尝试了2.53 Chrome驱动程序:2.23(http://chromedriver.storage.googleapis.com/index.html?path=2.23/)

    • 我正在使用Selenium和Chrome来模拟点击一个下载PDF文件的按钮。一切工作如预期,Chrome显示下载成功,点击Chrome上的文件打开并充分显示文件。但是,当我试图从文件管理器或任何其他应用程序(包括作为超级用户的)访问该文件时,下载的文件并不存在。这是硒/铬故意做的吗?有什么办法可以绕过这一点吗? 我在Xubuntu 20.04.2 LTS上运行Python 3.8.5。Seleni

    • 我正在帮助建立一个自动化框架来测试我们的网站。由于测试用例必须运行在Chrome、Firefox和IE上,我们目前正在传递一个WebDriver对象作为我们的驱动程序。这个对象实际上是ChromeDriver、FirefoxDriver或InternetExplorerDriver(视情况而定)。 这似乎行不通--至少,我不能将ChromeDriver分配给SpecialDriver,因为Chro