我正在尝试以编程方式将值设置为网页的文本字段。我使用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"));
}
此代码工作正常,由于尚未在网页上设置该值,因此它显示为elements.attr(“value”)的空白。是否有可能以编程方式设置elements.attr(“value”)?请帮助。
答案 0 :(得分:1)
您在Jsoup解析对象中所做的更改不会反映在页面上,因为这些对象与浏览器中显示的页面代码没有任何关联。
您应该期待AJAX从网页上的Java应用程序设置值。从您的页面到您的应用程序进行异步调用,并使用JavaScript设置回调所需的值。
答案 1 :(得分:1)
我认为这是像Selenium而不是jsoup这样的工具。使用selenium,您可以导航到您需要的页面,在页面中找到元素(例如表单)并设置其值。 Jsoup可以抓取页面的来源,并过滤掉你想要的元素,但我不知道如何使用jsoup单独添加页面。