如何使用Selenium调用安装在除C驱动器之外的其他驱动程序中的firefox浏览器?

时间:2017-09-01 13:06:28

标签: selenium firefox selenium-webdriver invoke selenium-firefoxdriver

如何调用安装在其他驱动程序中的Firefox浏览器而不是" C"用Selenium开车?

我在D驱动器而不是C驱动程序中安装了Firefox。有没有办法在这种情况下使用selenium调用浏览器?

编辑1:

不关心司机的位置。我只关心浏览器的安装位置。希望你能理解

3 个答案:

答案 0 :(得分:0)

尝试使用FirefoxBinary来实现java的代码

File pathBinary = new File("Your path of firefox driver");
FirefoxBinary firefoxBinary = new FirefoxBinary(pathBinary);
FirefoxProfile firefoxProfile = new FirefoxProfile();       
WebDriver driver = new FirefoxDriver(firefoxBinary, firefoxProfile)

答案 1 :(得分:0)

对于C#

创建一个名为Drivers的文件夹。添加你想要的所有驱动程序,chromedriver,gecko,IE,幻像等等。将每个设置为"始终复制"所以它会进入你的bin目录。

然后创建GetBasePath方法并相应地调用它。我还会创建一个switch语句并调用你想要使用的驱动程序。

    ex:
    _webDriver = new InternetExplorerDriver(Path.Combine(GetBasePath, @"Drivers\"));

 ChromeOptions options = new ChromeOptions();
 options.AddArguments("--start-maximized");
 options.AddUserProfilePreference("credentials_enable_service", false);
 _webDriver = new ChromeDriver(Path.Combine(GetBasePath, @"Drivers\"), options, TimeSpan.FromMinutes(3));



        public static string GetBasePath
    {
        get
        {
            var basePath =
                Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            return basePath;
        }
    }

答案 2 :(得分:0)

Firefox必须安装在默认位置,如 - >(c:/ program files / mozilla firefox)如果firefox安装在其他地方,那么selenium会显示错误。如果你想在任何其他地方使用firefox,请使用下面的代码: -

File pathToBinary = new File("C:\\user\\Programme\\FirefoxPortable\\App\\Firefox\\firefox.exe");
FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary);
FirefoxProfile firefoxProfile = new FirefoxProfile();       
WebDriver driver = new FirefoxDriver(ffBinary,firefoxProfile);

C:\用户\程序\ FirefoxPortable \ APP \火狐\ firefox.exe - >用路径替换此路径