private static ChromeDriver driver; private static DevTools devTools; static int count=0; static { System.setProperty("webdriver.chrome.driver", UrlConstant.chromedriver); ChromeOptions chromeOptions = new ChromeOptions(); //chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER); chromeOptions.setExperimentalOption("excludeSwitches", new String[]{"enable-automation"}); //chromeOptions.setBinary("E:\\demo\\Application\\chrome.exe"); driver = new ChromeDriver(chromeOptions); devTools = ((HasDevTools) driver).getDevTools(); devTools.createSession(); try { cfgChromeTool(driver); } catch (Exception e) { System.err.println("cfgChromeTool报错:"); } } /** * watch the background request * */ public static void cfgChromeTool(ChromeDriver driver){ try { //Thread.sleep(10000);// 60秒 //driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); devTools.send(Network.enable(Optional.empty(), Optional.empty(), Optional.empty())); // Thread.sleep(10000);// 60秒 devTools.addListener(Network.responseReceived(), res -> { String url = res.getResponse().getUrl(); if(url.contains(UrlConstant.url_search_count)){ try { String responseBody = devTools.send(Network.getResponseBody(res.getRequestId())).getBody(); System.out.println("url----------"+url); System.out.println("responseBody----------"+ JSON.parseObject(responseBody)); if(StringUtils.isNoneBlank(responseBody)&&responseBody.contains("nums")){ CountVo vo = JSONObject.parseObject(responseBody, CountVo.class); count=vo.getNums(); }
java selenium 操作谷歌浏览器获取数据
于 2023-11-28 17:27:20 首次发布