java - 无法在 java 中使用 geckodriver 启动 FireFox 自定义配置文件
问题描述
我正在尝试使用 selenium v3.12 和 gecko-driver v2.10 以及 Firefox 版本 60.0 启动一个带有附加组件的 Firefox 配置文件,但是似乎自定义配置文件不起作用。下面是我的代码
static WebDriver driver;
ProfilesIni profile = new ProfilesIni();
myprofile = profile.getProfile("AutoProfile");
System.setProperty("webdriver.gecko.driver",
"E:\\Library\\geckodriver-v0.21.0-win32\\geckodriver.exe");
driver = new FirefoxDriver(myprofile);
实际错误在线
driver = new FirefoxDriver(myprofile);
作为
构造函数 FirefoxDriver(FirefoxProfile) 未定义
解决方案
您必须通过 Firefox 选项传递它。
System.setProperty("webdriver.gecko.driver", "E:\\Library\\geckodriver-v0.21.0-win32\\geckodriver.exe");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("AutoProfile");
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setProfile(myprofile);
WebDriver driver = new FirefoxDriver(firefoxOptions);
如果以下解决方案导致 java 堆错误,您可以尝试 DesiredCapabilities,如下所示:
System.setProperty("webdriver.gecko.driver","E:\\Library\\geckodriver-v0.21.0-win32\\geckodriver.exe");
File file = new File(path_to_your_firefox_profile);
DesiredCapabilities dc = DesiredCapabilities.firefox();
FirefoxProfile profile = new FirefoxProfile(file);
dc.setCapability(FirefoxDriver.PROFILE, profile);
FirefoxDriver driver = new FirefoxDriver(dc);
推荐阅读
- javascript - 缓存名称未显示在缓存存储中
- php - One Signal Web 推送通知自定义消息 PHP
- python - 我想检查此代码是否有无限循环第 21 行
- excel - Excel Header 和 Footer 文本替换太慢了,有替代方案吗?
- odoo-12 - 退回库存时临时帐户中的值错误
- android - 如何在android中转换具有不同时区的时间字符串格式
- sweetalert - 如何获取使用 sweetalert 输入的输入值?
- typescript - 从类型中选择一个键值对
- angular - 将类类型分配给泛型变量时,打字稿编译错误
- jsf - 如果我从 request.getParameter 请求某些内容,为什么当我尝试上传文件时 PrimeFaces FileUpload 不执行任何操作?不是重复的