在 profile.setPreference("browser.popups.showPopupBlocker", false) 中获取 java.lang.NullPointerException;
Getting java.lang.NullPointerException in profile.setPreference("browser.popups.showPopupBlocker", false);
System.setProperty("webdriver.gecko.driver","C:\geckodriver.exe");
ProfilesIni profile2 = new ProfilesIni();
FirefoxProfile profile3 = profile2.getProfile("AutoProfile");
profile3.setPreference("browser.popups.showPopupBlocker", false);
profile3.setPreference("browser.download.dir", "D:\WebDriverDownloads");
profile3.setPreference("browser.download.folderList", 2);
profile3.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;");
profile3.setPreference( "browser.download.manager.showWhenStarting", false );
profile3.setPreference( "pdfjs.disabled", true );
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setProfile(profile3);
WebDriver driver = new FirefoxDriver(firefoxOptions);
您看到 java.lang.NullPointerException
的最可能原因是您尝试使用的 Firefox 配置文件,即AutoProfile 在您的本地系统上不存在(尚未创建)。
解决方案
- 在开始使用 Firefox Profile AutoProfile 之前,请确保此 Firefox Profile 存在于您的本地系统。您可以按照 Creating a new Firefox profile on Windows.
中的说明手动创建 Firefox 配置文件
- 不需要配置自动下载
setPreference("browser.popups.showPopupBlocker", false)
,因此您可以将其删除。
- 执行你的
@Test
.
- 在这里你可以找到关于
的详细讨论
System.setProperty("webdriver.gecko.driver","C:\geckodriver.exe");
ProfilesIni profile2 = new ProfilesIni();
FirefoxProfile profile3 = profile2.getProfile("AutoProfile");
profile3.setPreference("browser.popups.showPopupBlocker", false);
profile3.setPreference("browser.download.dir", "D:\WebDriverDownloads");
profile3.setPreference("browser.download.folderList", 2);
profile3.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;");
profile3.setPreference( "browser.download.manager.showWhenStarting", false );
profile3.setPreference( "pdfjs.disabled", true );
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setProfile(profile3);
WebDriver driver = new FirefoxDriver(firefoxOptions);
您看到 java.lang.NullPointerException
的最可能原因是您尝试使用的 Firefox 配置文件,即AutoProfile 在您的本地系统上不存在(尚未创建)。
解决方案
- 在开始使用 Firefox Profile AutoProfile 之前,请确保此 Firefox Profile 存在于您的本地系统。您可以按照 Creating a new Firefox profile on Windows. 中的说明手动创建 Firefox 配置文件
- 不需要配置自动下载
setPreference("browser.popups.showPopupBlocker", false)
,因此您可以将其删除。 - 执行你的
@Test
. - 在这里你可以找到关于