栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

根据URL生成该网页的长截屏,并发送数据到邮箱

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据URL生成该网页的长截屏,并发送数据到邮箱

文章目录

前言一、根据网址生成该网页的长截图

1.引入库2.代码 二、发送数据到邮箱

1.引入库2.代码 总结


前言

工作中领导提出的需求,也是查阅了许久,特此记录。


一、根据网址生成该网页的长截图 1.引入库

这里采用selenium网页自动化测试工具,采用核心功能AShot实现

需要依赖有


  ru.yandex.qatools.ashot
  ashot
  1.5.4



  org.seleniumhq.selenium
  selenium-java
  4.0.0-alpha-3



  org.seleniumhq.selenium
  selenium-remote-driver
  4.0.0-alpha-3

同时还需要下载 chromedriver.exe,并根据该下载存放的路径进行配置

2.代码
 public static void main(String[] args) {
        // TODO Auto-generated method stub
        WebDriver driver;
        System.setProperty( "webdriver.chrome.driver" , "D:/chromedriver.exe" );
        driver= new ChromeDriver();
        driver.manage().timeouts().implicitlyWait( 60, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        driver.get( "https://nba.hupu.com/" );              //take screenshot of the entire page
        Screenshot screenshot= new AShot().shootingStrategy(ShootingStrategies.viewportPasting( 1000 )).takeScreenshot(driver);
        try {
            ImageIO.write(screenshot.getImage(), "jpg" , new File("D:/test.jpg"));//截图存放路径
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        driver.quit();
    }

根据url获取网页长截图:

二、发送数据到邮箱 1.引入库

需要导入mail.jar

2.代码

代码如下(示例):

public class EmailUtil {
	private static EmailUtil eu = new EmailUtil();

	public static EmailUtil getInstance() {
		return eu;
	}

	private EmailUtil() {

	}

	public void send(String email, String content1, String subject) throws MessagingException {
		Properties props = new Properties();
		props.setProperty("mail.smtp.auth", "true");
		props.setProperty("mail.transport.protocol", "smtp");
		Session session = Session.getInstance(props, null);
		try {
			if (checkEmail(email)) {
				Message msg = new MimeMessage(session);
				msg.setFrom(new InternetAddress("xxxxx@xxxxx.com"));
				msg.setRecipients(RecipientType.TO, InternetAddress.parse(email));
				msg.setSubject(subject);
				Multipart msgPart = new MimeMultipart("mixed");
				msg.setContent(msgPart);
				MimeBodyPart body = new MimeBodyPart(); 
				msgPart.addBodyPart(body);
				Multipart contentPart = new MimeMultipart("related");
				body.setContent(contentPart);
				MimeBodyPart content = new MimeBodyPart();
				contentPart.addBodyPart(content);
				content.setContent(content1, "text/html;charset=utf-8");
				msg.setContent(contentPart);
				msg.saveChanges();
				Transport trans = session.getTransport();
				trans.connect("smtp.qiye.163.com", "xxxxx@xxxxx.com", "xxxxx");
				trans.sendMessage(msg, msg.getAllRecipients());
				trans.close();
			} else {
				System.out.println("邮箱格式错误!");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	// 验证邮箱
	public boolean checkEmail(String email) {
		String regex = "^([a-z0-9A-Z]+[-|_|\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,}$";
		return email.matches(regex);
	}

}

总结

该文章仅单单介绍该主题所涉及的核心代码及工具,仅供自学记录。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/703864.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号