我在Burp扩展程序中遇到Selenium的问题,如果我尝试从虚拟项目中加载页面,则页面已正确加载,但是当我尝试在扩展程序中加载页面时,它加载了5分钟,则抛出TimeoutException然后加载页面。
这是工作代码
import javax.swing.JFileChooser;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.remote.CapabilityType;
public class main {
public static void main(String[] args) {
JFileChooser fc = new JFileChooser();
int showOpenDialog = fc.showOpenDialog(fc);
if (showOpenDialog != JFileChooser.APPROVE_OPTION) {
return;
}
System.setProperty("webdriver.gecko.driver", fc.getSelectedFile().getPath());
WebDriver d;
FirefoxOptions opt = new FirefoxOptions();
Proxy p = new Proxy();
p.setHttpProxy("localhost:8080");
p.setSslProxy("localhost:8080");
opt.setCapability(CapabilityType.PROXY, p);
d = new FirefoxDriver(opt);
d.get("https://www.nytimes.com/");
}
}
这是Burp插件中的代码不起作用
import java.awt.Component;
import java.io.File;
import java.util.Date;
import java.util.List;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.remote.CapabilityType;
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;
}
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); //Throwing the TimeoutException after 30 seconds instead of default 5 minutes
driver.get("https://www.nytimes.com/");
driver.quit();
}