0

Below code is running successfully in normal mode but it is throwing following error when I run in headless mode

org.openqa.selenium.ElementNotInteractableException: element not interactable: link has no size and location

My understanding is when I use ZAP proxy in headless mode, it is throwing this error. It is running successfully in normal mode.

My code:

    private static final String ZAP_PROXYHOST = "localhost";//127.0.0.1
    private static final int ZAP_PROXYPORT = 8080;
    private static final String API_KEY = ""; // disable API key in ZAP settings
    public static ScanningProxy zapScanner;
    DesiredCapabilities capabilities=new DesiredCapabilities() ;
    Proxy proxy = new Proxy();
    proxy.setHttpProxy(ZAP_PROXYHOST + ":" + ZAP_PROXYPORT);
    proxy.setSslProxy(ZAP_PROXYHOST + ":" + ZAP_PROXYPORT);

    zapScanner = new ZAProxyScanner(ZAP_PROXYHOST, ZAP_PROXYPORT, API_KEY);
    zapScanner.clear();
    capabilities.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
    capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);

    String browserName = ConfigReader.prop.getProperty("browser");

    if (browserName.equals("chrome")) {
        WebDriverManager.chromedriver().setup();
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--headless");
        options.addArguments("--proxy-auto-detect");
        options.addArguments("--no-sandbox");
        options.addArguments("--incognito");
        options.addArguments("--start-maximized");
        options.addArguments("--window-size=1920,1100");
        options.addArguments("--ignore-certificate-errors");
        options.addArguments("--disable-gpu");
        options.addArguments("--disable-dev-shm-usage");
        options.setProxy(proxy);
        options.merge(capabilities);
        setDriver(new ChromeDriver(options));
    }
James Z
  • 12,209
  • 10
  • 24
  • 44
Giri
  • 9
  • 1

0 Answers0