Linux安装Chrome和chromedriver进行截图

1、自动下载google-chrome:   curl https://intoli.com/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-2021-07-22.png"));
//            FileUtils.copyFile(file, new File("/opt/daily-img/week-2021-07-22.png"));
            log.info("截图完成");

        }catch (Exception e){
            log.error("截图图片保存出错:"+e);
        }finally {
            //退出浏览器
            webDriver.quit();
        }

        return imgUrl;
    }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 谷歌浏览器(Google Chrome)是一种功能强大的网络浏览器,可在Chrome网上应用商店中添加Zotero Connector插件,用于更好地管理和引用科研文献。Zotero是一种免费的参考书目管理软件,可以轻松地保存、组织和引用各种类型的文献。而网盘则是一种用于存储和共享文件的云存储服务。 通过谷歌浏览器中的Zotero Connector插件,用户可以轻松地将网上的文献、研究书籍和其他资料保存到自己的Zotero账户中。这使得整理和管理科研文献变得更加容易,同时便于将这些文献与协作伙伴共享。此外,Zotero内置的引文工具可以帮助用户轻松地添加文献参考到自己的论文和报告中。 因为Zotero与许多科研出版商和数据库集成,所以很容易在其内部搜索和添加文献,并将这些文献与网盘共享,以便可以随时访问和使用。这一功能使得Zotero成为了数百万科研人员和学生的首选参考书目和文献管理软件。因此,谷歌浏览器可以通过Zotero Connector与网盘一起使用,使科研学习工作变得更加高效、方便。 ### 回答2: 谷歌浏览器 Zotero Connector 是一个方便的工具,帮助使用者在研究或学术写作时快速保存并整理相关网页或文章。这个工具包括两个部分:Zotero Connector扩展和Zotero桌面程序。 Zotero Connector扩展可直接下载至浏览器,安装后可在网页上方显示一个Zotero保存按钮,用于保存当前页面内容。同时,当浏览器打开一篇包含DOI、ISBN、PUBMED等信息的文章时,可自动检索相关信息并保存至Zotero桌面程序中。 Zotero桌面程序是一款免费的文献管理软件,支持保存各种参考文献、PDF文件、笔记和标签等,并支持备份至网盘或本地硬盘。使用者可以自由创建文件夹或标签,以方便整理和查找保存的内容。 Zotero桌面程序与Zotero Connector扩展可实现同步,使用者可以利用桌面程序中的功能针对资料进行分类、编辑、笔记等进一步整理。同时,结合网盘服务如Google Drive、Dropbox等也可实现数据在线备份,方便多设备同步使用。 总的来说,谷歌浏览器 Zotero Connector及其配套的桌面程序以及网盘服务,旨在帮助用户便捷地管理、整理和同步学术资料,提高学术和研究效率,为学术写作带来更多方便。 ### 回答3: 谷歌浏览器是一款全球最流行的网页浏览器,拥有许多实用的插件和扩展功能。其中,Zotero Connector是一款非常实用的插件,它可以便捷地将网页资料收集到Zotero文献管理工具中。 Zotero是一款免费的文献管理工具,可以帮助研究人员和学生对文献资料进行整理、分类和引用。通过使用Zotero Connector插件,用户可以将在浏览器中查找到的相关文章、书籍和其他资料一键保存到Zotero中。 另外,网盘也是现代社会必不可少的一种云存储方式,通过网络将文件存储在云上,可以方便地进行分享和备份。谷歌浏览器也提供了与Google Drive网盘的集成功能,用户可以将需要存储的文件直接保存到网盘中,可以随时随地使用。 综合来说,谷歌浏览器Zotero Connector插件和Google Drive网盘的结合,为用户提供了一个非常便捷的文献管理和资料存储方式。通过它们,用户可以更加高效地进行学术研究和工作,节约了时间和精力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值