1688批量加购

selenium-java实现1688 自动登录自动滑动验证码
首先需要下载 webDriver驱动 和你的谷歌浏览器匹配
下载地址 https://googlechromelabs.github.io/chrome-for-testing/#stable
pom.xml

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

登录

 public static void login(ChromeDriver webDriver, String username, String password) throws InterruptedException {
        webDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        String baseUrl = "https://login.taobao.com/";
        webDriver.get(baseUrl + "?redirect_url=https%3A%2F%2Flogin.1688.com%2Fmember%2Fjump.htm%3Ftarget%3Dhttps%253A%252F%252Flogin.1688.com%252Fmember%252FmarketSigninJump.htm%253FDone%253Dhttps%25253A%25252F%25252Fmember.1688.com%25252Fmember%25252Foperations%25252Fmember_operations_jump_engine.htm%25253Ftracelog%25253Dlogin%252526operSceneId%25253Dafter_pass_from_taobao_new%252526defaultTarget%25253Dhttps%2525253A%2525252F%2525252Fwork.1688.com%2525252F%2525253Ftracelog%2525253Dlogin_target_is_blank_1688&style=tao_custom&from=1688web");

        //  webDriver.switchTo().frame(0);
        webDriver.findElement(By.cssSelector(".password-login-tab-item")).click();
        //休息5秒
        Thread.sleep(5000);
        webDriver.findElement(By.id("fm-login-id")).clear();
        webDriver.findElement(By.id("fm-login-id")).sendKeys(username);
        webDriver.findElement(By.id("fm-login-password")).clear();
        webDriver.findElement(By.id("fm-login-password")).sendKeys(password);
        webDriver.findElement(By.cssSelector(".password-login")).click();
        //休息5秒
        Thread.sleep(5000);
    }

处理滑块验证的相关代码

 		WebElement draggable = driver.findElement(By.id("nc_1_n1z"));//定位元素
        Actions bu = new Actions(driver); // 声明action对象
        bu.clickAndHold(draggable).build().perform(); // clickAndHold鼠标左键按下draggable元素不放
        bu.moveByOffset(200, 2).perform(); // 平行移动鼠标
        Thread.sleep(200);
        bu.moveByOffset(280, 2).perform(); // 平行移动鼠标
        Thread.sleep(200);
        bu.moveByOffset(300, 2).perform(); // 平行移动鼠标
        Thread.sleep(1500);

登录代码

 		login(webDriver, "18******", "l******");

商品添加到购物车

        WebDriverWait wait = new WebDriverWait(webDriver, 5, 1);
		webDriver.get(url);
                wait.until(new ExpectedCondition<WebElement>() {
                    @Override
                    public WebElement apply(WebDriver webDriver) {
                        return webDriver.findElement(By.xpath("//span[@class='next-input-group-addon next-after']/button"));//增加购买商品数量
                    }
                }).click();
                Thread.sleep(200);
                //点击购买按钮
                WebElement addButton = wait.until(new ExpectedCondition<WebElement>() {
                    @Override
                    public WebElement apply(WebDriver webDriver) {
                        List<WebElement> elements = webDriver.findElements(By.xpath("//div[@class='order-normal-button']"));
                        for (WebElement element : elements) {
                            if ("加采购车".equals(element.getText()) || "非活动价进货".equals(element.getText())) {
                                return element;
                            }
                        }
                        return null;
                    }
                });
                if (addButton != null) {
                    addButton.click();
                }

生成订单过程类似,在购物车页面选择商品后提交订单,这里就不贴代码了
这里只是介绍了下基本的功能,要想自动完成全部过程,里面还会有一些淘宝selenium工具检测,滑块验证过程需要自己处理
有需要的同学可以加群:6285 98137

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值