苏苏网赚论坛

 找回密码
 立即注册
查看: 445|回复: 0

JAVA爬虫实现自动登录淘宝

[复制链接]
跳转到指定楼层
楼主
发表于 2019-6-17 12:57:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想通过JAVA代码实现淘宝网的自动登录,通过获取设置的登录信息自动填写并提交。目前这个代码是小编测试过的,暂时可以通过

package util;

import org.openqa.selenium.By;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.firefox.FirefoxOptions;

import org.openqa.selenium.firefox.FirefoxProfile;

import java.io.File;

import java.util.Random;

public class TestCase2 {

  public static void main(String[] args)

  {

    System.setProperty("webdriver.firefox.bin","C:\\Program Files\\Mozilla Firefox\\firefox.exe");

    System.setProperty("webdriver.gecko.driver","C:\\Users\\18431\\IdeaProjects\\SeleniumDemo\\bin\\geckodriver.exe");

    FirefoxOptions options = new FirefoxOptions();

    FirefoxProfile profile = new FirefoxProfile(new File("C:\\Users\\18431\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\efzu2oem.default"));

    options.setProfile(profile);

    FirefoxDriver driver = new FirefoxDriver();

    driver.get("https://login.m.taobao.com/login.htm");

    //下面开始完全模拟正常人的操作,所以你会看到很多 sleep 操作

    WebElement usernameElement = driver.findElement(By.id("username"));

    //模拟用户点击用户名输入框

    usernameElement.click();

    String username = "18588260144";//你的手机号

    String password = "xxxxxxxxxxx";//你的密码

    Random rand = new Random();

    try {

      for (int i = 0; i <username.length() ; i++) {

        Thread.sleep(rand.nextInt(1000));//随机睡眠0-1秒

        //逐个输入单个字符

        usernameElement.sendKeys(""+username.charAt(i));

      }

      WebElement passwordElement = driver.findElement(By.id("password"));

      passwordElement.click();

      //输入完成用户名后,随机睡眠0-3秒

      Thread.sleep(rand.nextInt(3000));

      for (int i = 0; i <password.length() ; i++) {

        Thread.sleep(rand.nextInt(1000));

        passwordElement.sendKeys(""+password.charAt(i));

      }

      driver.findElement(By.id("btn-submit")).click();

    } catch (Exception e){

      e.printStackTrace();

    }

    try {

      Thread.sleep(300000);

    }catch (InterruptedException ie){

      ie.printStackTrace();

    }

    driver.quit();

  }

}
热帖推荐
回复

使用道具 举报

广告合作|最大的网赚客中文交流社区!十年老站!

GMT+8, 2024-5-2 06:03 , Processed in 0.156000 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.1 VIP版

© 2012-2022 苏苏网赚论坛 版权所有 | 10年老品牌

快速回复 返回顶部 返回列表