java+selenium+robot上传图片<搬代码>

这段代码展示了如何使用Java和Selenium库自动化上传身份证正反面以及其它图片信息的过程。它涉及到网页元素定位、剪切板操作和Robot类的使用来模拟键盘事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键的代码,只需要复制粘贴就行了

//=============================================上传身份证正面信息
        TimesUntil.log.info("上传身份证正面信息");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[3]/main/div[1]/div[1]/div/div/div[1]/div").click();
        Thread.sleep(3000);
        //指定图片路径
        StringSelection shenfenz = new StringSelection("E:\\需求\\20220728\\29\\信息图片\\身份证正面.JPG");
        //复制到剪切板
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(shenfenz,null);
        //创建Robot
        Robot robot1 = new Robot();
        Thread.sleep(3000);
        //按下回车
        robot1.keyPress(KeyEvent.VK_ENTER);
        //释放回车
        robot1.keyRelease(KeyEvent.VK_ENTER);
        //按下CTRL+V
        robot1.keyPress(KeyEvent.VK_CONTROL);
        robot1.keyPress(KeyEvent.VK_V);
        //释放CTRL+v
        robot1.keyRelease(KeyEvent.VK_CONTROL);
        robot1.keyRelease(KeyEvent.VK_V);
        Thread.sleep(1000);
        //点击回车ENTER
        robot1.keyPress(KeyEvent.VK_ENTER);
        Thread.sleep(5000);

所有代码

package com.znzdh.anli;

import com.znzdh.until.TimesUntil;
import org.openqa.selenium.WebElement;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.awt.*;
import java.awt.datatransfer.StringSelection;
import java.awt.event.KeyEvent;
import java.sql.Time;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;

public class YinShengKaiHu {
    @BeforeMethod(enabled = true,description = "打开浏览器")
    public void login(){
        TimesUntil.testlogin2();
    }

    @Test(enabled = true,description = "开户页面测试")
    public void kaihu() throws InterruptedException, AWTException {
        TimesUntil.driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        TimesUntil.log.info("隐式等待");
        TimesUntil.log.info("点击代理商管理");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[1]/div[2]/div[1]/div/ul/div[3]/li/div").click();
        TimesUntil.log.info("点击开户管理");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[1]/div[2]/div[1]/div/ul/div[3]/li/ul/div[3]/a/li").click();
        TimesUntil.log.info("点击新增机构");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/div[5]/div/div/button[3]/span").click();
        System.out.println("代理句柄:"+TimesUntil.driver.getWindowHandle());
        System.out.println("代理url:"+TimesUntil.driver.getCurrentUrl());
        Thread.sleep(5000);
        TimesUntil.log.info("点击机构");
        TimesUntil.driver.findElementByXPath("//*[@id=\"tab-jigou\"]").click();
        Thread.sleep(5000);


        TimesUntil.log.info("获取句柄");
        System.out.println("机构句柄:"+TimesUntil.driver.getWindowHandle());
        System.out.println("代理url:"+TimesUntil.driver.getCurrentUrl());
        System.out.println("所有句柄:"+TimesUntil.driver.getWindowHandles());
        List<WebElement> elementsByClassName1 = TimesUntil.driver.findElementsByClassName("el-icon-close");
        for (int i = 0; i <elementsByClassName1.size() ; i++) {
            System.out.println(elementsByClassName1.get(i));
        }

		//此处可以通过for循环来填入数据====================
        TimesUntil.log.info("=======输入基本信息=======");
        List<WebElement> elementsByClassName = TimesUntil.driver.findElementsByClassName("el-input__inner");
        for (int i = 0; i <elementsByClassName.size(); i++) {
            System.out.println(elementsByClassName.get(i).getAttribute("placeholder"));
            String placeholder = elementsByClassName.get(i).getAttribute("placeholder");
            if (placeholder==null ||placeholder.equals("")){//不这样写会报错
                continue;
            }else if (placeholder.equals("请输入银行卡号")){
                elementsByClassName.get(i).sendKeys("观世音");
            }else if(placeholder.equals("请输入结算银行")){
                elementsByClassName.get(i).sendKeys("1352222000013456");
            }
        }
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[1]/main/div[1]/div[1]/div/div/div/div/input").sendKeys("观世音");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[1]/main/div[1]/div[2]/div/div/div/div/input").sendKeys("13522220000");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[1]/main/div[1]/div[3]/div/div[1]/div/div/input").sendKeys("000000");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[1]/main/div[2]/div[2]/div/div/div/div/input").sendKeys("cs123456");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[1]/main/div[2]/div[3]/div/div/div/div/input").sendKeys("cs123456");
        TimesUntil.log.info("=======输入经营信息=======");
        TimesUntil.log.info("上传经营图片信息");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[2]/main/div[1]/div/div/div/div[1]/div").click();
        Thread.sleep(3000);
        //=============================================
        // 指定图片的路径
        StringSelection sel = new StringSelection("E:\\需求\\20220728\\29\\信息图片\\yinyezz.png");
        //复制到剪切板
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sel,null);
        //创建Robot
        Robot robot = new Robot();
        Thread.sleep(3000);
        // 按下回车
        robot.keyPress(KeyEvent.VK_ENTER);
        // 释放回车
        robot.keyRelease(KeyEvent.VK_ENTER);
        // 按下 CTRL+V
        robot.keyPress(KeyEvent.VK_CONTROL);
        robot.keyPress(KeyEvent.VK_V);
        // 释放 CTRL+V
        robot.keyRelease(KeyEvent.VK_CONTROL);
        robot.keyRelease(KeyEvent.VK_V);
        Thread.sleep(1000);
        // 点击回车 Enter
        robot.keyPress(KeyEvent.VK_ENTER);
        Thread.sleep(8000);
        //#下拉到页面1000位置
        //((JavascriptExecutor) webDriver).executeScript("window.scrollTo(0,1000)");
        //#上拉到页面顶端 0,0位置
        //((JavascriptExecutor) webDriver).executeScript("window.scrollTo(0,0)");
        //TimesUntil.driver.executeAsyncScript("window.scrollTo(0,800)");
        Thread.sleep(1000);
        //=============================================上传身份证正面信息
        TimesUntil.log.info("上传身份证正面信息");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[3]/main/div[1]/div[1]/div/div/div[1]/div").click();
        Thread.sleep(3000);
        //指定图片路径
        StringSelection shenfenz = new StringSelection("E:\\需求\\20220728\\29\\信息图片\\身份证正面.JPG");
        //复制到剪切板
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(shenfenz,null);
        //创建Robot
        Robot robot1 = new Robot();
        Thread.sleep(3000);
        //按下回车
        robot1.keyPress(KeyEvent.VK_ENTER);
        //释放回车
        robot1.keyRelease(KeyEvent.VK_ENTER);
        //按下CTRL+V
        robot1.keyPress(KeyEvent.VK_CONTROL);
        robot1.keyPress(KeyEvent.VK_V);
        //释放CTRL+v
        robot1.keyRelease(KeyEvent.VK_CONTROL);
        robot1.keyRelease(KeyEvent.VK_V);
        Thread.sleep(1000);
        //点击回车ENTER
        robot1.keyPress(KeyEvent.VK_ENTER);
        Thread.sleep(5000);
        //=============================================上传身份证反面信息
        TimesUntil.log.info("上传身份证反面信息");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[3]/main/div[1]/div[2]/div/div/div[1]/div").click();
        Thread.sleep(3000);
        //指定图片路径
        StringSelection shenfenF = new StringSelection("E:\\需求\\20220728\\29\\信息图片\\身份证反面.JPG");
        //复制到剪切板
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(shenfenF,null);
        //创建Robot
        Robot robot2 = new Robot();
        Thread.sleep(3000);
        //按下回车
        robot2.keyPress(KeyEvent.VK_ENTER);
        //释放回车
        robot2.keyRelease(KeyEvent.VK_ENTER);
        //按下CTRL+V
        robot2.keyPress(KeyEvent.VK_CONTROL);
        robot2.keyPress(KeyEvent.VK_V);
        //释放CTRL+v
        robot2.keyRelease(KeyEvent.VK_CONTROL);
        robot2.keyRelease(KeyEvent.VK_V);
        Thread.sleep(1000);
        //点击回车ENTER
        robot2.keyPress(KeyEvent.VK_ENTER);
        Thread.sleep(7000);
        //=============================================上传手持身份证信息
        TimesUntil.log.info("上传手持身份证信息");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[3]/main/div[1]/div[3]/div/div/div[1]/div").click();
        Thread.sleep(3000);
        //指定图片路径
        StringSelection shoushenfenF = new StringSelection("E:\\需求\\20220728\\29\\信息图片\\shouchi.png");
        //复制到剪切板
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(shoushenfenF,null);
        //创建Robot
        Robot robot3 = new Robot();
        Thread.sleep(3000);
        //按下回车
        robot3.keyPress(KeyEvent.VK_ENTER);
        //释放回车
        robot3.keyRelease(KeyEvent.VK_ENTER);
        //按下CTRL+V
        robot3.keyPress(KeyEvent.VK_CONTROL);
        robot3.keyPress(KeyEvent.VK_V);
        //释放CTRL+v
        robot3.keyRelease(KeyEvent.VK_CONTROL);
        robot3.keyRelease(KeyEvent.VK_V);
        Thread.sleep(1000);
        //点击回车ENTER
        robot3.keyPress(KeyEvent.VK_ENTER);
        Thread.sleep(7000);
        //=============================================上传银行卡
        TimesUntil.log.info("上传上传银行卡信息");
        TimesUntil.driver.findElementByXPath("//*[@id=\"app\"]/div/div[2]/section/div/form/section[4]/main/div[1]/div/div/div/div[1]/div").click();
        //指定图片路径
        StringSelection yinhangka = new StringSelection("E:\\需求\\20220728\\29\\信息图片\\银行卡01.png");
        //复制到剪切板
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(yinhangka,null);
        //创建Robot
        Robot robot4 = new Robot();
        Thread.sleep(3000);
        //按下回车
        robot4.keyPress(KeyEvent.VK_ENTER);
        //释放回车
        robot4.keyRelease(KeyEvent.VK_ENTER);
        //按下CTRL+V
        robot4.keyPress(KeyEvent.VK_CONTROL);
        robot4.keyPress(KeyEvent.VK_V);
        //释放CTRL+v
        robot4.keyRelease(KeyEvent.VK_CONTROL);
        robot4.keyRelease(KeyEvent.VK_V);
        Thread.sleep(1000);
        //点击回车ENTER
        robot4.keyPress(KeyEvent.VK_ENTER);
        Thread.sleep(7000);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值