在 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.
  • 在这里你可以找到关于
  • 的详细讨论