当前位置: 首页 > news >正文

手机网站尺寸大小门户网站的盈利模式

手机网站尺寸大小,门户网站的盈利模式,用群晖做网站,单页面企业网站chromedriver是谷歌浏览器驱动,用来模拟谷歌运行操作的一个工具#xff0c;此处主要讲解Java后端利用此插件进行网页截图#xff0c;并且适配Linux部署。 环境准备 Wondows服务器或电脑 本机需安装Chrome谷歌浏览器#xff0c;根据本机浏览器版本#xff0c;下载对应的chr…chromedriver是谷歌浏览器驱动,用来模拟谷歌运行操作的一个工具此处主要讲解Java后端利用此插件进行网页截图并且适配Linux部署。 环境准备 Wondows服务器或电脑 本机需安装Chrome谷歌浏览器根据本机浏览器版本下载对应的chromedriver版本chromedrive插件下载地址 谷歌chromeDriver插件地址下载后解压即可。PS网上看到许多需要配置环境变量的实测根本不需要。 注意插件版本和本机浏览器版本一定要对应 Linux服务器 安装Chrome yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm查看版本 google-chrome --version根据版本下载插件chromedrive插件下载地址https://registry.npmmirror.com/binary.html?pathchromedriver/选择Linux版上传到服务器后解压上面默认安装最新版本。 // 解压 unzip chromedriver_linux64.zip // 赋权 chmod 777 chromedriver // 安装浏览器中文字体 yum -y groupinstall FontsJava代码部分 引入maven !-- 浏览器截图jar包 --dependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion3.141.59/version/dependencydependencygroupIdcom.google.guava/groupIdartifactIdguava/artifactIdversion27.0-jre/version/dependency截图工具方法类 代码里面用到的是ChromeDriverService启动还有一种是 ChromeDriver driver new ChromeDriver(options); System.setProperty(“webdriver.chrome.driver”, “/data/server/legal-document-library-task/chromedriver”); 这种在高并发频繁截图时会遇到ChromeDriver插件未正常关闭的情况会占用端口或内存。推荐使用ChromeDriverService方式。 public String imgUntil(String url){ChromeDriver driver null;FileInputStream inputFile null;ChromeDriverService service null;try {//(推荐)利用ChromeDriverService启动//这里/data/server/legal/chromedriver是下载的驱动路径Windows对应chromedriver.exe Linux对应chromedriver具体路径看你把驱动放在哪service new ChromeDriverService.Builder().usingDriverExecutable(new File(/data/server/legal/chromedriver)).usingAnyFreePort().build();service.start();ChromeOptions options new ChromeOptions();//ssl证书支持options.setCapability(acceptSslCerts, true);//截屏支持options.setCapability(takesScreenshot, true);//css搜索支持options.setCapability(cssSelectorsEnabled, true);//设置浏览器参数options.addArguments(--headless);options.addArguments(--no-sandbox);options.addArguments(--disable-gpu);options.addArguments(--disable-dev-shm-usage);options.setHeadless(true);driver new ChromeDriver(service,options);//设置超时避免有些内容加载过慢导致截不到图driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.MINUTES);driver.manage().timeouts().implicitlyWait(1, TimeUnit.MINUTES);driver.manage().timeouts().setScriptTimeout(1, TimeUnit.MINUTES);//设置需要访问的地址driver.get(url);Thread.sleep(2000);//获取高度和宽度一定要在设置URL之后不然会导致获取不到页面真实的宽高Long width (Long)driver.executeScript(return document.documentElement.scrollWidth);Long height (Long) driver.executeScript(return document.body.parentNode.scrollHeight);System.out.println(高度height);/*//这里按照网页需求有些是滑动的时候才加在的如ajax的异步加载long temp_height 0;while (true) {//每次滚动500个像素因为懒加载所以每次等待2S 具体时间可以根据具体业务场景去设置driver.executeScript(window.scrollBy(0,500));temp_height 500;if(temp_heightheight){break;}}*///设置窗口宽高设置后才能截全driver.manage().window().setSize(new Dimension(width.intValue(), height.intValue()));File srcFile driver.getScreenshotAs(OutputType.FILE);// 这里的需求是将图片转为Base64码后换回实际按需求控制inputFile new FileInputStream(srcFile);byte[] buffer new byte[(int)srcFile.length()];inputFile.read(buffer);String content new BASE64Encoder().encode(buffer);return content;//设置截图文件保存的路径//String screenshotPath C:\\wenjian\\YA\\imgGG1.png;//FileUtils.copyFile(srcFile, new File(screenshotPath));}catch (Exception e){e.printStackTrace();log.error(截图失败:e);return null;}finally {try{if (inputFile ! null){inputFile.close();}}catch (Exception ee){}if (driver! null){driver.quit();service.stop();}}}工具2 全面截屏//配置本地的chromediver.exe谷歌的内核System.setProperty(webdriver.gecko.driver, C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe);//设置ChromeOptions打开方式设置headless不弹出浏览器//设置好使用ChromeDriver使用ChromeDriver driver new ChromeDriver(); driver.get(https://www.jianshu.com/u/a2b05c68b03b);//设置浏览器弹窗页面的大小driver.manage().window().maximize();//使用getScreenshotAs进行截取屏幕File srcFile driver.getScreenshotAs(OutputType.FILE); FileUtils.copyFile(srcFile, new File(G:\\pyChar\\jj.png)); 长截屏//配置本地的chromediver.exe谷歌的内核System.setProperty(webdriver.gecko.driver, C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe);//设置ChromeOptions打开方式设置headless不弹出浏览器ChromeOptions options new ChromeOptions();options.addArguments(headless);//设置好使用ChromeDriver使用ChromeDriver driver new ChromeDriver(options); //获取要截图的地址注需要先获取地址哦不然下方获取的宽度高度就会是弹窗的高和宽而不是页面内容的高宽driver.get(https://www.jianshu.com/u/a2b05c68b03b);//获取页面高宽使用return document.documentElement.scrollWidth//Long width (Long)driver.executeScript(return document.documentElement.scrollWidth);// Long height (Long) driver.executeScript(return document.documentElement.scrollHeight);Long width (Long) ((JavascriptExecutor)driver).executeScript(return document.documentElement.scrollWidth);Long height (Long) ((JavascriptExecutor)driver).executeScript(return document.documentElement.scrollHeight);//设置浏览器弹窗页面的大小driver.manage().window().setSize(new Dimension(width.intValue(), height.intValue()));//使用getScreenshotAs进行截取屏幕File srcFile driver.getScreenshotAs(OutputType.FILE); FileUtils.copyFile(srcFile, new File(G:\\pyChar\\jj.png)); 元素截图使用方法WebElement findElementByXPath ToolDriver.findElement(By.xpath(//*[id\s_lg_img\]));File screenshotAs findElementByXPath.getScreenshotAs(OutputType.FILE);String prName src/main/resources/ Toolimg .png;try {FileUtils.copyFile(screenshotAs, new File(prName));} catch (IOException e) {e.printStackTrace();} --全面截图再截图 File src ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); WebElement element driver.findElement(By.xpath(//div[classmsn]));Rectangle rect element.getRect(); BufferedImage subImage ImageIO.read(src).getSubimage(rect.x, rect.y, rect.getWidth(), rect.height); ImageIO.write(subImage, png, src);
http://www.dnsts.com.cn/news/147565.html

相关文章:

  • 可信网站权威性怎么样wordpress是框架么
  • 备案的网站转移下城区做网站
  • 企业如何做网站外包多少钱怎么找人做动漫视频网站
  • 潍坊精神文明建设网站免费做app网站有哪些
  • 上海招聘网站排名莆田注册公司
  • dede网站下载焦作市网站建设公司
  • 网站开发问卷调查wordpress美术馆插件
  • 郑州艾特网站建设枣庄建网站的公司
  • 展台设计网站都有哪些wordpress 站群xmlrpc
  • 前端开源项目网站百度账号登录
  • 专业商城网站建设报价wordpress标签后多了一个()
  • 网站无法排版湖北省建设厅网站怎么打不开
  • 山西太原建站哪家强深圳50强外贸公司排名
  • 做一个静态网站多少钱如何推广自己的网站和产品
  • 丹棱网站建设网站加载进度条
  • 找兼职h5网站开发人员wordpress怎么登入
  • wordpress淘宝客网站跨境商城网站建设
  • 哈尔滨做网站seo石家庄房产信息网
  • 淄博个人承接网站制作免费签名设计
  • 网站做gzip压缩昆明网站
  • php网站开发文章管理系统app制作二维码
  • 广东有做阿里网站的吗中小企业建设网站应注意
  • 网站域名 如何选择手机如做网站
  • 做百度快照要先有网站吗产品内页设计
  • 广西钦州有人帮做网站的公司吗怎么做关不掉的网站
  • 外贸网站建设lanscend电商网站建设与运营哦
  • 餐饮网站建设思路wordpress页面排版插件
  • 企业网站缺点长沙网页制作网站
  • 393网站公司网站建设 公司简介怎么写
  • 网站建设是专业不用备案的网站哪里买