如何调用安装在其他驱动程序中的Firefox浏览器而不是" C"用Selenium开车?
我在D驱动器而不是C驱动程序中安装了Firefox。有没有办法在这种情况下使用selenium调用浏览器?
编辑1:
不关心司机的位置。我只关心浏览器的安装位置。希望你能理解
答案 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 - >用路径替换此路径