Я столкнулся с этой проблемой, так как вчера Burp начал показывать ошибку ниже при попытке импортировать файл .jar плагина, но у Netbeans нет проблем с его компиляцией. Я импортировал Selenium через зависимость Maven в файле pom. xml и каждый раз, когда я загружаю плагин в Burp, я запускаю опцию Очистить и собрать, чтобы избежать любой проблемы
Однако код, который я запускаю, выглядит следующим образом :
void runBrowserAutomatization(File fileDriver, String seleniumTrack, boolean isHeadless) {
WebDriver driver;
if (gui.usedBrowser().toLowerCase().contains("chrome")) {
ChromeOptions options = new ChromeOptions();
Proxy proxy = new Proxy();
proxy.setHttpProxy("localhost:8080");
proxy.setSslProxy("localhost:8080");
options.setCapability(CapabilityType.PROXY, proxy);
options.setHeadless(isHeadless);
System.setProperty("webdriver.chrome.driver", fileDriver.getPath());
driver = new ChromeDriver(options);
} else if (gui.usedBrowser().toLowerCase().contains("firefox")) {
FirefoxOptions options = new FirefoxOptions();
Proxy proxy = new Proxy();
proxy.setHttpProxy("localhost:8080");
proxy.setSslProxy("localhost:8080");
options.setCapability(CapabilityType.PROXY, proxy);
options.setHeadless(isHeadless);
System.setProperty("webdriver.gecko.driver", fileDriver.getPath());
driver = new FirefoxDriver(options);
} else {
printMsg("No browser selected...");
return;
}
/// other stuff here
driver.close();
}
Показана следующая ошибка:
java.lang.ClassNotFoundException: org.openqa.selenium.WebDriver
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:436)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:416)
at burp.ehm.a(Unknown Source)
at burp.ehm.<init>(Unknown Source)
at burp.b6.a(Unknown Source)
at burp.c3u.lambda$panelLoaded$0(Unknown Source)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:830)
. Неловко то, что если я прокомментирую две реализации объекта драйвера, Burp не показывает ошибки при импорте. Кажется, что у него есть проблема в реализации объекта WebDriver, но не в его объявлении, что очень странно для ClassNotFoundException. Другой инструмент, чей код имеет такую же структуру с этими компонентами, не имеет ошибок, если он загружен и работает нормально.