需要填写一些我有可用的 HTML 源的特定站点的网络表单。我想从数据库记录中填写此表单上的字段。我不想将请求发布到服务器,因为应用程序用户将首先验证填充的数据并手动提交表单。
java中有什么方法可以实现这个吗?我已经在 VB .Net 中实现了这一点,但希望将其作为已经在 java 中开发并实现业务逻辑的更大应用程序的一部分。
您的帮助将不胜感激。
谢谢, SRA
需要填写一些我有可用的 HTML 源的特定站点的网络表单。我想从数据库记录中填写此表单上的字段。我不想将请求发布到服务器,因为应用程序用户将首先验证填充的数据并手动提交表单。
java中有什么方法可以实现这个吗?我已经在 VB .Net 中实现了这一点,但希望将其作为已经在 java 中开发并实现业务逻辑的更大应用程序的一部分。
您的帮助将不胜感激。
谢谢, SRA
Java 将在服务器上运行。
在这种情况下,您只需修改服务器,使其生成 HTML,其中的<input>
元素预先填充了数据库中的值;例如使用value
属性。对于选择器来说有点复杂,您必须确保预先选择了其中一个选项。
因此,您需要访问数据库,还需要从客户端填写 Web 表单。如果您使用 Selenium,它将是这种情况:
用户启动您的程序。程序打开浏览器窗口,登录并填写表格。用户检查数据并按下“发送”按钮。浏览器窗口被程序自动关闭(可能会保持浏览器窗口打开,但最好清理资源并完成程序)。
代码示例:
public static void main(String[] args) throws InterruptedException {
webDriver = new FirefoxDriver();
try {
processPage();
} finally {
webDriver.quit();
}
}
private static void processPage() throws InterruptedException {
webDriver.get("http://some_page_url");
// Page element search example
List<WebElement> elements = webDriver.findElements(By.xpath(XPATH_STR));
// Fill page here
}