我正在尝试在网页上设置过滤器,然后再下载。
代码被剪掉
webClient.waitForBackgroundJavaScript(10 * 1000);
HtmlElement fromDate = pageAnchorReport.getFirstByXPath("//div[contains(@class,'x-grid3-col-FilterFieldFilterFrom')]");
fromDate.setAttribute("Value(s)/From","01/05/2018");
System.out.println("1");
HtmlElement toDate = pageAnchorReport.getFirstByXPath("//div[contains(@class,'x-grid3-col-FilterFieldFilterTo')]");
toDate.setAttribute("To","15/10/2018");
System.out.println("2");
但是它的拍摄日期只是在网站中提到,而不是从代码中提及。
请提出任何建议。我想念什么吗?
谢谢
答案 0 :(得分:0)
根据您发布的图片,日期值设置为文本,而不是任何属性
因此,您可以尝试
fromDate.setTextContent("01/05/2018");
和toDate.setTextContent("15/10/2018");
而不是设置属性。
答案 1 :(得分:0)
在您的代码中,您试图为不存在的element属性设置值。
('To'
,'Value(s)/From'
不是属性,它们只是该节点。)
要设置元素属性,您需要传递有效的属性名称(例如,对于input
元素,您必须将'value'
属性传递为elementObj.setAttribute("value", "YOUR_VALUE")
)。
在您的情况下,请使用以下代码替换代码:
h.setNodeValue("YOUR_VALUE");
// or
h.setTextContent("YOUR_VALUE");