久久香蕉国产线看观看手机

    <address id="19r7x"></address>

    <address id="19r7x"></address>

    <sub id="19r7x"></sub>

      <address id="19r7x"><dfn id="19r7x"></dfn></address>

      <sub id="19r7x"><listing id="19r7x"></listing></sub>

      <sub id="19r7x"><listing id="19r7x"><mark id="19r7x"></mark></listing></sub>
        <address id="19r7x"><listing id="19r7x"></listing></address>

        <thead id="19r7x"><var id="19r7x"><output id="19r7x"></output></var></thead>
        <sub id="19r7x"><dfn id="19r7x"><mark id="19r7x"></mark></dfn></sub>

        java使用selenium chrome headless網頁截長圖

        1. 新聞資訊
        2. 技術百科
        公司新聞 案例分享 技術百科 行業動態

        java使用selenium chrome headless網頁截長圖

        來源:奇站網絡 瀏覽量:744 發布日期: 2020-12-07

        1、pom

        1. <dependency>
        2. <groupId>org.seleniumhq.selenium</groupId>
        3. <artifactId>selenium-java</artifactId>
        4. </dependency>

        2、腳本動態獲取網頁高度

        1. // 設置驅動地址
        2. System.setProperty("webdriver.chrome.driver", "D:\\apps\\headless\\chromedriver.exe");
        3. ChromeOptions options = new ChromeOptions();
        4. // 設置谷歌瀏覽器exe文件所在地址
        5. options.setBinary("C:\\Users\\qizhan\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");
        6. // 這里是要執行的命令,如需修改截圖頁面的尺寸,修改--window-size的參數即可
        7. options.addArguments("--headless", "--disable-gpu", "--window-size=1920,1200", "--ignore-certificate-errors");
        8. ChromeDriver driver = new ChromeDriver(options);
        9. // 訪問頁面
        10. driver.get("http://sina.com.cn");
        11. //執行腳本
        12. String js1 = "return document.body.clientHeight.toString()";
        13. String js1_result = driver.executeScript(js1) + "";
        14. int height = Integer.parseInt(js1_result);
        15. driver.manage().window().setSize(new Dimension(830, height + 100));
        16. // 頁面等待渲染時長,如果你的頁面需要動態渲染數據的話一定要留出頁面渲染的時間,單位默認是秒
        17. Wait<WebDriver> wait = new WebDriverWait(driver, 3);
        18. wait.until(new ExpectedCondition<WebElement>() {
        19. public WebElement apply(WebDriver d) {
        20. // 等待前臺頁面中 id為“kw”的組件渲染完畢,后截圖
        21. // 若無需等待渲染,return true即可。 不同頁面視情況設置id
        22. return d.findElement(By.id("app"));
        23. }
        24. });
        25. // 獲取到截圖的文件
        26. File screenshotFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        27. if ((screenshotFile != null) && screenshotFile.exists()) {
        28. // 截取到的圖片存到本地
        29. FileOutputStream out = null;
        30. FileInputStream in = null;
        31. try {
        32. in = new FileInputStream(screenshotFile);
        33. out = new FileOutputStream("D:\\apps\\headless\\cut1.png");
        34. byte[] b = new byte[1024];
        35. while (true) {
        36. int temp = in.read(b, 0, b.length);
        37. // 如果temp = -1的時候,說明讀取完畢
        38. if (temp == -1) {
        39. break;
        40. }
        41. out.write(b, 0, temp);
        42. }
        43. } catch (Exception e) {
        44. // TODO異常處理
        45. }
        46. }

        廈門奇站網絡科技有限公司

        電話:13313868605

        QQ:3413772931

        地址:廈門軟件園三期A02號

        網站地圖


                            掃一掃加我咨詢

        久久香蕉国产线看观看手机