模拟登陆163邮箱

  最近对于使用爬虫模拟注册特别有兴趣,其中有一些注册需要使用邮箱进行接收验证码,网上我查到的资料,都是需要邮箱开通授权码后,通过授权码进行收发邮件,我需要的功能是通过正常的账号密码进行登陆,然后收取邮件。大致流程是:模拟登陆163邮箱,然后拉取最新的邮件,读取出验证码。

  首先参考的是这篇博文所写的:https://www.oschina.net/code/snippet_128625_12592,试验之后发现登陆失败,我拦截的URL和博文中的不一样;

  在经过一番尝试无果后,想到使用真正的模拟用户登陆来进行收取邮件,于是找到了一个叫selenium的WEB UI自动化测试工具,

  selenium使用安装:https://www.cnblogs.com/JHblogs/p/7699951.html

  Maven依赖为:  

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.8.1</version>
</dependency>

  使用selenium登陆邮箱的方法为:

public static void main(String[] args) throws Exception {
        System.setProperty("webdriver.chrome.driver","C:\Users\Administrator\Downloads\chromedriver_win32\chromedriver.exe");
        ChromeDriver driver = new ChromeDriver();
        driver.get("https://mail.163.com/");
        WebDriver frame = driver.switchTo().frame("x-URS-iframe");
        WebElement name = frame.findElement(By.ByName.name("email"));
        name.sendKeys("");
        WebElement password = frame.findElement(By.ByName.name("password"));
        password.sendKeys("");
        
        WebElement login = frame.findElement(By.ById.id("dologin"));
        login.click();
        
        
    }
原文地址:https://www.cnblogs.com/xiangaaa/p/8587029.html