JAVA网页自动输入

想写一个JAVA的脚本,实现对网页中的某一输入框自动输入,输入完成后并进行回车,输入内容从EXCEL中获取,输入一次后延时30s进行下一次输入,有没有人指导一下

参考:https://www.freesion.com/article/4422853736/

你需要先学一点爬虫
就是用request去获取页面,然后修改你要的输入框之后post提交
而不要思路总是基于视觉识别

试试 这个 https://blog.csdn.net/qq_37749055/article/details/129315812?spm=1001.2014.3001.5502
你可以用 selenium 自动打开网页 然后自己读excel 然后自动输入到输入框

使用python可以么

完美实现

可以通过篇python 读取excel 发起模拟请求

你可以使用Selenium库来实现对网页中的某一输入框的自动输入,并使用POI库来从Excel文件中获取输入内容。
下面是一个示例的JAVA代码:
首先,你需要在项目中引入Selenium和POI的相关依赖。你可以在pom.xml文件中添加以下依赖:

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.0.0</version>
    </dependency>
</dependencies>

创建一个JAVA类,例如AutoInput.java,并在该类中编写以下代码:

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

import org.apache.poi.ss.usermodel.*;

public class AutoInput {

    public static void main(String[] args) throws IOException, InterruptedException {
        // 设置Excel文件路径
        String excelFilePath = "input.xlsx";

        // 加载驱动程序
        System.setProperty("webdriver.chrome.driver", "path_to_chromedriver");
        WebDriver driver = new ChromeDriver();

        // 设置隐式等待时间
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        // 打开网页
        driver.get("http://example.com");

        // 读取Excel文件
        FileInputStream fis = new FileInputStream(excelFilePath);
        Workbook workbook = WorkbookFactory.create(fis);
        Sheet sheet = workbook.getSheetAt(0);

        // 获取输入框元素
        WebElement inputBox = driver.findElement(By.id("inputBoxId"));

        // 遍历Excel中的每一行,从第二行开始
        for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
            // 获取当前行的单元格
            Row row = sheet.getRow(rowNum);
            Cell cell = row.getCell(0);

            // 从单元格中获取内容
            String inputText = cell.getStringCellValue();

            // 清空输入框并输入内容
            inputBox.clear();
            inputBox.sendKeys(inputText);

            // 回车键
            inputBox.sendKeys(Keys.ENTER);

            // 延时30秒
            Thread.sleep(30000);
        }

        // 关闭浏览器
        driver.quit();
        fis.close();
        workbook.close();
    }
}

请注意,你需要将上述代码中的"input.xlsx"替换为包含输入内容的实际Excel文件的路径,并将"path_to_chromedriver"替换为你系统中ChromeDriver的路径。此外,请根据你的实际情况修改页面中输入框的ID(通过修改By.id("inputBoxId")中的"inputBoxId")。编译并运行该代码,即可实现对网页中的输入框进行自动输入和回车,并且每次输入后都会延时30秒。

简单学习一下爬虫知识就能够做到。

以下是一个简单的JAVA脚本,可以实现对网页中的某一输入框自动输入,输入完成后并进行回车,输入内容从EXCEL中获取,输入一次后延时30s进行下一次输入:


import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import org.apache.poi.ss.usermodel.Cell;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import org.openqa.selenium.By;

import org.openqa.selenium.JavascriptExecutor;

import org.openqa.selenium.Keys;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.support.ui.ExpectedConditions;

import org.openqa.selenium.support.ui.WebDriverWait;



public class AutoInput {

    private static final String INPUT_BOX_ID = "inputBoxId"; // 输入框的id或xpath

    private static final String EXCEL_FILE_PATH = "path/to/excel/file.xlsx"; // Excel文件路径

    private static final int DELAY_TIME = 30000; // 延迟时间(毫秒)

    private static final List<String> INPUT_CONTENTS = new ArrayList<>(); // 从Excel中读取的内容列表

    

    public static void main(String[] args) throws Exception {

        WebDriver driver = new ChromeDriver(); // 使用Chrome浏览器驱动程序

        driver.get("http://example.com"); // 打开目标网页

        

        // 从Excel文件中读取输入内容列表

        File file = new File(EXCEL_FILE_PATH);

        FileInputStream inputStream = new FileInputStream(file);

        Workbook workbook = new XSSFWorkbook(inputStream);

        Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表

        for (Row row : sheet) {

            Cell cell = row.getCell(0); // 假设第一列是输入内容

            if (cell != null && cell.getStringCellValue() != null) {

                INPUT_CONTENTS.add(cell.getStringCellValue());

            }

        }

        inputStream.close();

        

        // 在指定的输入框中自动输入内容,并按下回车键

        WebElement inputBox = driver.findElement(By.id(INPUT_BOX_ID)); // 根据id或xpath查找输入框元素

        for (String content : INPUT_CONTENTS) {

            inputBox.sendKeys(content); // 在输入框中输入内容,并按下回车键

            Thread.sleep(DELAY_TIME); // 等待一段时间再进行下一次输入操作

        }

        

        // 其他操作,例如点击按钮等。。。

        

        driver.quit(); // 关闭浏览器驱动程序

提供大概思路,可以使用Java的Selenium WebDriver库来实现自动化测试。以下是一个简单的Java脚本示例,可以根据你的需求进行修改:

import java.io.FileInputStream;  
import java.io.IOException;  
import java.util.Iterator;  
import org.apache.poi.ss.usermodel.Cell;  
import org.apache.poi.ss.usermodel.Row;  
import org.apache.poi.ss.usermodel.Sheet;  
import org.apache.poi.ss.usermodel.Workbook;  
import org.apache.poi.xssf.usermodel.XSSFWorkbook;  
import org.openqa.selenium.WebDriver;  
import org.openqa.selenium.chrome.ChromeDriver;  
import org.openqa.selenium.By;  
import org.openqa.selenium.Keys;  
  
public class AutoInput {  
    public static void main(String[] args) throws Exception {  
        String excelFilePath = "input.xlsx"; // 指定Excel文件路径  
        String url = "http://example.com"; // 指定要输入的网页URL  
        WebDriver driver = new ChromeDriver(); // 创建Chrome浏览器驱动对象  
  
        // 打开网页  
        driver.get(url);  
  
        // 读取Excel数据  
        FileInputStream inputStream = new FileInputStream(excelFilePath);  
        Workbook workbook = new XSSFWorkbook(inputStream);  
        Sheet sheet = workbook.getSheetAt(0);  
        Iterator<Row> rowIterator = sheet.iterator();  
  
        // 循环读取Excel行数据并进行输入  
        while (rowIterator.hasNext()) {  
            Row row = rowIterator.next();  
            Iterator<Cell> cellIterator = row.iterator();  
            while (cellIterator.hasNext()) {  
                Cell cell = cellIterator.next();  
                String inputValue = cell.getStringCellValue();  
                // 在输入框中输入值并回车  
                driver.findElement(By.xpath("//input[@id='inputBox']")).sendKeys(inputValue);  
                driver.findElement(By.xpath("//input[@id='inputBox']")).sendKeys(Keys.RETURN);  
                Thread.sleep(30000); // 延时30秒再进行下一次输入  
            }  
        }  
  
        // 关闭浏览器和驱动程序  
        driver.quit();  
    }  
}

#如有帮助,恭请采纳

用python可以吗?


import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class AutoInputScript {
    public static void main(String[] args) throws IOException, InterruptedException {
        // 设置ChromeDriver的路径
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");

        // 创建ChromeDriver实例
        WebDriver driver = new ChromeDriver();

        // 打开目标网页
        driver.get("https://example.com");

        // 最大化窗口
        driver.manage().window().maximize();

        // 设置隐式等待时间,用于等待页面加载完成
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        // 读取Excel文件
        FileInputStream file = new FileInputStream(new File("path/to/excel.xlsx"));
        Workbook workbook = new XSSFWorkbook(file);
        Sheet sheet = workbook.getSheetAt(0);

        // 循环遍历Excel中的数据
        for (int i = 0; i <= sheet.getLastRowNum(); i++) {
            Row row = sheet.getRow(i);
            Cell cell = row.getCell(0);
            String inputText = cell.getStringCellValue();

            // 定位输入框元素
            WebElement inputBox = driver.findElement(By.id("input-box-id"));

            // 输入内容
            inputBox.clear();
            inputBox.sendKeys(inputText);

            // 回车
            inputBox.sendKeys(Keys.ENTER);

            // 延时30秒
            Thread.sleep(30000);
        }

        // 关闭浏览器
        driver.quit();
        file.close();
    }
}

java+selenum实现网页自动化
可以借鉴下,写的非常详细
https://blog.csdn.net/qq_38650613/article/details/86000498

java+selenum是可以的,也可以考虑使用python+selenum 相对来说 Python 更简单容易操作一些,
详细的脚本的话 你可以私我 告诉我你具体的需求,我来帮你做也可以,我帮你做的前提是合法合规,
给你一个我自己写的demo示例:

from urllib.parse import quote
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.action_chains import ActionChains
import pandas as pd


# 设置浏览器选项
chrome_options = Options()
# chrome_options.add_argument("--headless")  # 无界面模式
# chrome_options.add_argument("--disable-gpu")  # 禁用GPU加速
# chrome_options.add_argument("--auto-open-devtools-for-tabs")
service = Service("D:\\software\\chromedriver\\chromedriver.exe")

# 创建WebDriver对象
driver = webdriver.Chrome(service=service, options=chrome_options)



# 网站的基本URL
base_url = "https://aiqicha.baidu.com/s?q={}&t=0"

comps = [
    'XXX股份有限公司',
    'XXX股份有限公司',
]


companyInfos = []

i = 0
# 遍历公司名称列表
for company in comps:

    # 生成特定公司的URL
    url = base_url.format(quote(company))

    print("URL: {}".format(url))

    # 切换回原来的页面
    driver.switch_to.window(driver.window_handles[0])

    # 加载页面
    driver.get(url)

    # 等待页面加载完成
    time.sleep(10)  # 可根据实际情况调整等待时间

    try:
        # 找到符合条件的 <a> 元素并点击
        link = driver.find_element(by=By.CSS_SELECTOR, value='a[title="{}"]'.format(company))
        link.click()

    except NoSuchElementException:
        print("不存在")
        continue

    driver.switch_to.window(driver.window_handles[1])

    time.sleep(10)  # 可根据实际情况调整等待时间

    infoData = driver.execute_script("return window.pageData;")

    # describe = infoData.get("result", {}).get("describe", "")
    result = infoData.get("result", {})
    # comp = {"company" : company, "describe" : describe}

    gudongs = driver.find_elements(by=By.CSS_SELECTOR, value='.aqc-detail-table.basic-shareholders-table tbody tr')

    gd = {}
    for index, gudong in enumerate(gudongs):
        gd["股东{}".format(index+1)] = gudong.text

    companyInfos.append({"company" : company, **result, **gd})

    # 关闭新页面
    driver.close()
    # i = i+1
    # if i > 2:
    #     break

# 关闭浏览器
driver.quit()

print(companyInfos)
# 创建 DataFrame 对象
df = pd.DataFrame(companyInfos)
# 保存 DataFrame 到 Excel 文件
df.to_excel("output.xlsx", index=False)

请问还需要解决否?

以下答案参考newbing,回答由博主波罗歌编写:
你可以使用Selenium库来实现对网页中的输入框自动输入,并从Excel中获取输入内容。以下是一个可能的解决方案:

1.首先,确保已经安装了Selenium库和相关浏览器驱动。你可以在官方网站上下载合适的浏览器驱动并配置到系统环境变量中。

2.在Java项目中导入Selenium库的相关依赖。

3.使用以下代码实现自动输入功能:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.util.concurrent.TimeUnit;

public class AutoInput {
    public static void main(String[] args) {
        // 设置浏览器驱动路径
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");

        // 创建Chrome浏览器实例
        ChromeOptions options = new ChromeOptions();
        // 设置浏览器静默模式,即无头模式
        options.addArguments("--headless");
        WebDriver driver = new ChromeDriver(options);

        // 导航到目标网页
        driver.get("https://example.com");

        // 读取Excel文件,获取输入内容
        // TODO: 实现读取Excel的逻辑

        // 定位并输入内容
        for (int i = 0; i < inputList.size(); i++) {
            String input = inputList.get(i); // 假设inputList是从Excel中读取的输入内容列表

            WebElement inputElement = driver.findElement(By.id("input-box")); // 修改为输入框的实际定位方式
            inputElement.clear();
            inputElement.sendKeys(input);

            // 回车键
            inputElement.submit();
            
            // 延时30秒
            try {
                TimeUnit.SECONDS.sleep(30);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

        // 关闭浏览器
        driver.quit();
    }
}

以上代码使用了Chrome浏览器作为示例,其他浏览器可以根据实际情况选择相应的驱动并修改相关配置。

在代码中,你需要根据你的实际情况修改目标网页的URL、输入框的定位方式(例如使用By.id定位、By.className定位等)以及Excel文件的读取逻辑。

希望这个解答能够帮助到你!
如果我的回答解决了您的问题,请采纳!

如果你想使用Java编写脚本来实现对网页中输入框的自动输入,并从Excel中获取输入内容,可以使用Selenium WebDriver和Apache POI库来实现。下面是一个使用Java编写的示例:

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.WebElement;

import java.util.concurrent.TimeUnit;
import org.apache.poi.ss.usermodel.*;

public class WebInputAutomation {
    public static void main(String[] args) {
        // 设置Chrome Driver路径
        System.setProperty("webdriver.chrome.driver", "path_to_chromedriver");

        // 创建Chrome浏览器驱动,并设置启动选项
        ChromeOptions options = new ChromeOptions();
        WebDriver driver = new ChromeDriver(options);

        // 设置全局等待时间
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        // 打开Excel文件
        String excelFilePath = "path_to_input_data.xlsx";
        Workbook workbook = WorkbookFactory.create(new File(excelFilePath));
        Sheet sheet = workbook.getSheet("Sheet1");

        // 访问目标网页
        driver.get("https://example.com");  // 替换为你要访问的网页URL

        // 循环遍历Excel中的输入数据
        for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
            Row row = sheet.getRow(rowNum);
            Cell cell = row.getCell(0);  // 假设输入数据在第1列,根据实际情况调整
            String inputText = cell.getStringCellValue();

            // 定位输入框并输入数据
            WebElement inputBox = driver.findElement(By.id("input-box"));  // 替换为目标网页中输入框的ID或其他定位方式
            inputBox.clear();
            inputBox.sendKeys(inputText);

            // 模拟按下回车键
            inputBox.sendKeys(Keys.RETURN);

            // 延时30秒
            Thread.sleep(30000);
        }

        // 关闭浏览器驱动
        driver.quit();

        // 关闭Excel文件
        workbook.close();
    }
}

以上示例中,你需要根据实际情况修改Chrome Driver路径、Excel文件路径、工作表名称、目标网页URL和输入框的定位方式等。同时,确保你已经在项目中引入了Selenium WebDriver和Apache POI库的依赖。

py实现回快一些吧

以下是一个使用Java编写的脚本示例,实现对网页中指定输入框的自动输入功能,并从Excel中获取输入内容。每次输入完成后,会延时30秒进行下一次输入。

请注意,此示例使用了Apache POI库来读取Excel文件。您需要将Apache POI库添加到您的项目中以便使用。

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

public class WebInputScript {

private static final String EXCEL_FILE_PATH = "input_data.xlsx";
private static final int INPUT_COLUMN_INDEX = 0;
private static final int INPUT_SHEET_INDEX = 0;
private static final int INPUT_DELAY_SECONDS = 30;

public static void main(String[] args) {
    System.setProperty("webdriver.chrome.driver", "path_to_chromedriver");

    WebDriver driver = new ChromeDriver();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    try {
        FileInputStream excelFile = new FileInputStream(EXCEL_FILE_PATH);
        Workbook workbook = new XSSFWorkbook(excelFile);
        Sheet sheet = workbook.getSheetAt(INPUT_SHEET_INDEX);

        for (Row row : sheet) {
            Cell cell = row.getCell(INPUT_COLUMN_INDEX);
            String inputText = cell.getStringCellValue();

            // 打开网页并定位到输入框
            driver.get("https://example.com");  // 替换为您要自动输入的网页地址
            driver.findElement(By.id("inputBoxId")).sendKeys(inputText + Keys.RETURN);

            // 延时30秒
            Thread.sleep(INPUT_DELAY_SECONDS * 1000);
        }

        workbook.close();
    } catch (IOException | InterruptedException e) {
        e.printStackTrace();
    }

    driver.quit();
}

}

请确保将path_to_chromedriver替换为您系统上ChromeDriver的实际路径,并将https://example.com替换为您要自动输入的网页地址。同时,将输入框的ID "inputBoxId"替换为您实际网页中输入框的ID。

此示例假设您的输入数据位于名为input_data.xlsx的Excel文件的第一个工作表中的第一列。您可以根据实际情况修改常量INPUT_COLUMN_INDEX和INPUT_SHEET_INDEX来适应您的数据结构。

注意:在使用此脚本之前,确保您已经正确安装了Chrome浏览器和ChromeDriver,并已将ChromeDriver的路径设置为webdriver.chrome.driver系统属性的值。

selenium正解

网页脚本的话用js写比较方便,可以直接在浏览器中使用

java实现再网页上自动输入是可行的。这让我想到我之前用过的爬虫项目,你可以使用selenium+java+Chrome浏览器实现这个功能,使用java代码自动打开Chrome浏览器,自动访问那要的web网页,然后往网页上自动输入一些数据,自动点击提交等都可以的。你可以去学习下我说的这个技术。保证可以实现你的需求。类似的资料比如这个:
记录 java + selenium脚本实现网页自动化:https://blog.csdn.net/cottonknight/article/details/126427402

在浏览器中按F12打开控制台。观察研究调用的后台接口的相关参数情况,直接组装JSON参数去调用api接口,然后解析返回的数据


import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class InputBoxAutoFill {

    private JFrame frame;
    private JTextField textField;
    private JButton button;
    private URL url;
    private HttpURLConnection connection;

    public InputBoxAutoFill() {
        // 创建窗口
        frame = new JFrame("Auto Fill");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);

        // 创建文本框
        textField = new JTextField();
        textField.setEditable(false);
        textField.setHorizontalAlignment(JTextField.RIGHT);
        textField.setMargin(new Insets(5, 5, 5, 5));
        frame.getContentPane().add(textField);

        // 创建按钮
        button = new JButton("Enter");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 获取文本框中的内容
                String input = textField.getText().trim();

                // 发送POST请求
                try {
                    url = new URL("http://localhost:8080/submit");
                    connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("POST");
                    connection.setDoOutput(true);
                    connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
                    connection.setDoInput(true);

                    String inputJson = "{\"input\":\"" + input + "\"}";
                    OutputStream os = connection.getOutputStream();
                    os.write(inputJson.getBytes());
                    os.flush();
                    os.close();

                    // 等待30秒
                    Thread.sleep(30000);

                    // 再次填充文本框
                    textField.setText(input);

                } catch (Exception e1) {
                    e1.printStackTrace();
                }
            }
        });

        // 创建边距
        frame.getContentPane().add(textField, BorderLayout.CENTER);
        frame.getContentPane().add(button, BorderLayout.SOUTH);

        // 设置按钮位置
        button.setBounds(10, 70, 80, 20);
    }

    public static void main(String[] args) {
        new InputBoxAutoFill();
    }
}

结合chatgpt,看一下是否是你要的结果,如有帮助,麻烦点个采纳
可实现对网页中的某一输入框自动输入、回车,并从Excel中获取输入内容,每次输入后延时30秒再进行下一次输入。

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import java.util.concurrent.TimeUnit;

public class AutoInputScript {

    public static void main(String[] args) throws InterruptedException {
        // 设置 ChromeDriver 的路径
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");

        // 创建 ChromeDriver 实例
        WebDriver driver = new ChromeDriver();

        // 打开网页
        driver.get("https://example.com");

        // 设置隐式等待时间
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        // 从 Excel 中获取输入内容
        String[] inputs = ExcelReader.getInputsFromExcel("path/to/excel/file.xlsx");

        for (String input : inputs) {
            // 定位输入框并输入内容
            WebElement inputBox = driver.findElement(By.id("inputBoxId"));
            inputBox.clear();
            inputBox.sendKeys(input);

            // 按下回车键
            inputBox.sendKeys(Keys.RETURN);

            // 延时30秒
            Thread.sleep(30000);
        }

        // 关闭浏览器
        driver.quit();
    }
}

// ExcelReader.java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ExcelReader {

    public static String[] getInputsFromExcel(String filePath) {
        String[] inputs = null;

        try {
            FileInputStream file = new FileInputStream(new File(filePath));
            Workbook workbook = new XSSFWorkbook(file);
            Sheet sheet = workbook.getSheetAt(0);

            int rowCount = sheet.getPhysicalNumberOfRows();
            inputs = new String[rowCount];

            for (int i = 0; i < rowCount; i++) {
                Row row = sheet.getRow(i);
                Cell cell = row.getCell(0);
                inputs[i] = cell.getStringCellValue();
            }

            workbook.close();
            file.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return inputs;
    }
}

请注意几点说明:

  1. 需要下载适用于你的 Chrome 浏览器版本的 ChromeDriver,并将其路径替换为driver.get("https://example.com");中的path/to/chromedriver
  2. 需要导入 Apache POI 库以读取 Excel 文件。可以从 Apache POI 的官方网站(https://poi.apache.org/)下载 JAR 文件并添加到你的项目中。
  3. 请在代码中适当更改网页的输入框选择器(By.id("inputBoxId"))和 Excel 文件路径(getInputsFromExcel("path/to/excel/file.xlsx"))。

请根据你的实际需求,自行修改代码中的注释给出的部分,以适应你的网页和 Excel 文件的具体情况。

  1. 读取Excel文件: 首先,你需要从Excel文件中读取需要输入的数据。Java有很多可以读取Excel文件的工具库,比如Apache POI和jExcel。这些工具可以帮助你便捷地读取Excel文件中的单元格数据。

  2. 打开并控制网页: Java提供了一些库(例如Selenium、HtmlUnit)可以模拟用户的网页浏览操作。Selenium是最常用的用于网页自动化的工具,你可以使用它打开一个网页,找到输入框,然后向其中输入文本。具体来说,基于Selenium的WebDriver可以找到网页中的HTML元素(根据元素的ID、名称、类名、XPath等),并与之交互。

  3. 向输入框输入文本并提交: 一旦你用WebDriver定位到了输入框,你就可以使用sendKeys方法向其输入文本,输入完毕之后,用sendKeys(Keys.RETURN);表现回车键操作。

  4. 延时: Java有内建的方式来实现暂停或延时操作,你可以使用Thread.sleep(30000);实现暂停30秒。

  5. 循环操作: 你需要把以上步骤放到一个循环结构中,以便对Excel文件中的每一行数据都执行一次操作。

这样的流程下来,你需要做的工作主要有三个部分:读取Excel数据、进行网页操作以及程序的循环与延时。以上步骤需要的具体技术知识包括Java IO(用于读取Excel)、Java库如Selenium(用于网页操作)和Java多线程(用于实现延时)。