0

我正在尝试以编程方式为网页的文本字段设置值。我使用 JSOUP 解析了页面并了解了输入文本字段。我使用了以下代码:

Elements elements = doc.select("input[type=text]");
 for (Iterator<Element> iterator = elements.iterator(); iterator.hasNext();)
 {
     Element element = iterator.next();
     System.out.println(element);
     System.out.println(elements.attr("name"));
     System.out.println(elements.attr("value"));
 }

此代码工作正常,由于尚未在网页上设置该值,因此 element.attr("value") 显示为空白。是否有可能以编程方式设置 elements.attr("value") ?请帮忙。

4

2 回答 2

1

您在 Jsoup 解析的对象中所做的更改不会反映在页面上,因为这些对象与浏览器中显示的页面代码没有任何联系。

您应该使用 AJAX 从网页上的 Java 应用程序中设置值。从您的页面向您的应用程序进行异步调用,并使用 JavaScript 设置回调所需的值。

于 2013-08-16T21:00:15.837 回答
1

我认为这是像 Selenium 这样的工具而不是 jsoup 的工作。使用 selenium,您可以导航到您需要的页面,找到页面中的元素(例如表单)并设置其值。Jsoup 可以抓取页面的来源,并过滤掉您想要的元素,但我不确定如何单独使用 jsoup 对页面进行任何添加。

于 2013-08-16T21:01:23.723 回答