1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Linux安装Chrome和chromedriver进行截图

Linux安装Chrome和chromedriver进行截图

时间:2020-10-20 04:46:38

相关推荐

Linux安装Chrome和chromedriver进行截图

1、自动下载google-chrome: curl /install-google-chrome.sh | bash

或者下载rpm版本的chrome然后用命令:

yum localinstall google-chrome-stable_current_x86_64.rpm 安装

2、将chromedriver驱动放到/usr/bin中

3、如果遇到The driver is not executable: /usr/bin/chromedriver,则进入/usr/bin目录使用chmod a+x chromedriver赋予可执行

注意:

selenium需要使用selenium-server.jar。

org.openqa.selenium.InvalidArgumentException:需要查看截图的链接是不是以"http://" 或者 "https://"开头。

安装chrome时提示缺少依赖可以使用:yum provides */缺少的依赖,查看依赖包的来源,找到base中所属的依赖包时,再使用命令:yum install 依赖包名称,进行下载。

测试截图发现图片中文字部分又方框和乱码,解决方案:

mkdir -p /usr/share/fonts/chinese/ #创建中文字体目录

cp songti.ttf /usr/share/fonts/chinese/ #将字体文件拷贝到/usr/share/fonts/chinese/中

cd /usr/share/fonts/chinese/ fc-cache -fv #为刚加入的字体设置缓存使之有效

fc-list #查看系统中的字体

public static String run(String htmlUrl){String imgUrl = "";//驱动地址// System.setProperty("webdriver.chrome.driver","D:/chromedriver/chromedriver.exe");System.setProperty("webdriver.chrome.driver", ReportConfig.DRIVERPATH);ChromeOptions options=new ChromeOptions();//设置 chrome 的无头模式options.addArguments("--headless");options.addArguments("--disable-gpu");//解决DevToolsActivePort文件不存在的报错options.addArguments("--no-sandbox");options.addArguments("--disable-dev-shm-usage");//浏览器最大化options.addArguments("--start-maximized");//隐藏滚动条options.addArguments("--hide-scrollbars");//滚动高度// options.addArguments("--window-size=1000,1680");//启动一个 chrome 实例WebDriver webDriver = new ChromeDriver(options);//访问网址webDriver.get(htmlUrl);try {Thread.sleep(10000);//定位section元素WebElement element = webDriver.findElement(By.id("app"));int width = element.getSize().getWidth();int height = element.getSize().getHeight();// System.out.println(width+", "+height);webDriver.manage().window().setSize(new Dimension(width,height));//截取全屏File file = ((TakesScreenshot) webDriver).getScreenshotAs(OutputType.FILE);//上传图片到服务器MultipartFile multipartFile = FileUtil.fileToMultipartFile(file);String dateStr = TimeUtils.dateToString(new Date(), TimeUtils.FORMAT_yMd);imgUrl = BaiShanCloudUtil.uploadFile_One(multipartFile, BaiShanCloudUtil.IMGROOTPATH + "/daily/daily-" + dateStr, null);System.out.println("图片上传地址:"+imgUrl);//保存图片到本地// FileUtils.copyFile(file, new File("D:/chromedriver/week--07-22.png"));// FileUtils.copyFile(file, new File("/opt/daily-img/week--07-22.png"));log.info("截图完成");}catch (Exception e){log.error("截图图片保存出错:"+e);}finally {//退出浏览器webDriver.quit();}return imgUrl;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。