<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用 chromedriver 實現網絡爬蟲【手抄】

      ?

       1、引用 selenium 包

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>4.29.0</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>4.29.0</version>
      </dependency>
      <dependency>
        <groupId>org.openqa.selenium</groupId>
        <artifactId>selenium-support</artifactId>
        <version>4.29.0</version>
      </dependency>

      2、下載 chromedriver

      下載地址:https://chromedriver.storage.googleapis.com/index.html

      這里引用包支持版本為 114,我下載使用的是 114.0.5734.0,分為 windows版本以及 linux 版本。

       

      114這個版本的 chromedriver 軟件將放在源碼中供大家學習使用。

      3、對應的瀏覽器下載

      由于chromedriver 最新版本為 114所以,最新的 chrome瀏覽器無法使用只能下載114這個版本chrome瀏覽器。

      linux 下載地址:

      https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux%2F114059%2Fchrome-linux.zip?generation=1&alt=media

      windows下載地址:

      https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Win_x64%2F1140629%2Fchrome-win.zip?generation=1683480562257014&alt=media

      4、具體現實代碼

      public static void main(String[] args) throws IOException {
      
          // 設置 ChromeDriver 路徑
          System.setProperty("webdriver.chrome.driver", "D:\\Project\\web-crawler\\chromedriver\\chromedriver.exe");
      
          // 配置 Chrome 瀏覽器
          ChromeOptions options = new ChromeOptions();
          // 如果不想顯示瀏覽器界面
      //    options.addArguments("--headless");
          // 設置啟動時最大化瀏覽器窗口
          options.addArguments("--start-maximized");
          // 指定瀏覽器位置
          options.setBinary("D:\\Project\\web-crawler\\chrome-windows\\chrome.exe");
          WebDriver driver = new ChromeDriver(options);
          driver.get("http://182.131.3.xxx:8000/noticerpt/user/popup_login");
      
          // 顯式等待,確保登錄頁面加載完成
          WebDriverWait loginWait = new WebDriverWait(driver, Duration.ofSeconds(30));
          // 獲取背景圖和拼圖塊
          // 拼圖背景圖
          WebElement button = loginWait.until(ExpectedConditions.presenceOfElementLocated(By.className("button4")));
          button.click();
          WebElement automv = loginWait.until(ExpectedConditions.presenceOfElementLocated(By.id("automv_1")));
          WebElement aBtn = automv.findElement(By.tagName("a"));
          aBtn.click();
      
          // 拼圖塊
          WebElement nav = driver.findElement(By.id("nav"));
          List<WebElement> elementList = nav.findElements(By.tagName("li"));
          WebElement navLi = elementList.get(1);
          WebElement navLiA = navLi.findElement(By.tagName("a"));
          navLiA.click();
      
          WebElement smsLoginFormsc = driver.findElement(By.id("smsLoginFormsc"));
          WebElement embedCaptchaSms = smsLoginFormsc.findElement(By.id("embed-captcha-sms"));
          WebElement gtSlider = embedCaptchaSms.findElement(By.className("gt_slider"));
          WebElement gtSliderKnob = gtSlider.findElement(By.className("gt_slider_knob"));
          new Actions(driver).moveToElement(gtSliderKnob).perform();
      
      
      //    WebElement gtWidget = smsLoginFormsc.findElement(By.className("gt_widget"));
      //    WebElement gtWidget = smsLoginFormsc.findElement(By.className("gt_widget"));
      //    WebElement gtWidget = smsLoginFormsc.findElement(By.className("gt_widget"));
      
          // 獲取拼圖塊的位置
      //    Point sliderPosition = slider.getLocation();
      //    System.out.println("拼圖塊的初始位置: " + sliderPosition);
      
      //    // 計算缺失的拼圖塊位置(假設通過圖像處理得出:x = 200, y = 0)
      //    int targetX = 200;
      //    int targetY = 0;
      //    String imageUrl = backgroundElement.getAttribute("src");
      //    BufferedImage background = ImageIO.read(new URL(imageUrl));
      //    imageUrl = puzzlePieceElement.getAttribute("src");
      //    BufferedImage puzzlePiece = ImageIO.read(new URL(imageUrl));
      //
      //    // 比較兩張圖片的差異
      //    int diffX = 0;
      //    int diffY = 0;
      //
      //    for (int y = 0; y < background.getHeight(); y++) {
      //      for (int x = 0; x < background.getWidth(); x++) {
      //        int bgPixel = background.getRGB(x, y);
      //        int puzzlePixel = puzzlePiece.getRGB(x, y);
      //
      //        if (bgPixel != puzzlePixel) {
      //          diffX = x;
      //          diffY = y;
      //          break;
      //        }
      //      }
      //    }
      
          // 獲取拼圖塊的當前位置
      //    Point start = slider.getLocation();
      
      //    // 模擬滑動拼圖塊
      //    Actions actions = new Actions(driver);
      //    actions.clickAndHold(slider)
      //        .moveByOffset(targetX - start.getX(), targetY - start.getY())
      //        .release()
      //        .perform();
      
          // 等待拼圖驗證完成
      //    WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
      //    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("success-message")));
      //
      //    System.out.println("拼圖解鎖成功!");
      
          // 關閉瀏覽器
      //    driver.quit();
      
        }
      

        

      以上代碼主要就是實現關閉彈窗、顯示滑動拼圖驗證碼。其中代碼 

      http://182.131.3.xxx:8000/noticerpt/user/popup_login  xxx 為了安逸將最后一段修改為了XXX根據邏輯可以修改為自己的業務需求
      

      5、總結

      只是個人作為研究的手抄還是有很多不足,而且具體邏輯也沒有寫(但是會持續的更新)

      6、代碼

      爬蟲代碼:維基框架/wiki-web-crawler

      如果覺得還不錯誤,請支持一下作者開源框架 維基框架  維基代理

      ?
      posted @ 2025-04-16 11:06  維基框架  閱讀(26)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 熟女人妻aⅴ一区二区三区电影| 成人一区二区三区在线午夜 | 99在线精品视频观看免费| 亚洲精品国产suv一区88| 亚洲av片在线免费观看| 免费无码高H视频在线观看| 97久久综合亚洲色hezyo| 精品av一区二区三区不卡| 亚洲综合激情五月色一区| 亚洲欧美日韩精品久久| 国产精品多p对白交换绿帽| 成人看的污污超级黄网站免费| 欧美 喷水 xxxx| 精品国产精品中文字幕| 少妇高潮流白浆在线观看| 97人妻精品一区二区三区| 国产成人夜色高潮福利app| 国产免费高清69式视频在线观看| 久久久一本精品99久久精品88| 99久久国产综合精品色| 亚洲国产精品成人综合久| 99九九成人免费视频精品| 少妇无套内射中出视频| 久久国内精品一区二区三区| 东京热人妻无码一区二区av| 国产精品综合色区av| 色欲国产精品一区成人精品| 韩国三级+mp4| 99国产欧美另类久久久精品| 少妇高潮太爽了在线视频| 国产无遮挡无码视频在线观看 | 国产一区二区三区小说| 高清偷拍一区二区三区| 国产一区二区亚洲一区二区三区 | 国产精品无码久久久久AV| 国产成人女人在线观看| 日本一区二区三区激情视频| 国产欧美日韩精品丝袜高跟鞋| 国精产品999国精产| 最新精品国产自偷在自线| 国产成人午夜福利精品|