为了账号安全,请及时绑定邮箱和手机立即绑定

setAttribute 在 HtmlUnit 中未按预期工作

setAttribute 在 HtmlUnit 中未按预期工作

婷婷同学_ 2021-11-24 18:39:08
我正在尝试在下载之前在网页中设置过滤器。代码剪断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");但它的拍摄日期仅在网站中提到,而不是来自正在传递的代码。请提出任何建议。我错过了什么吗?
查看完整描述

2 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

根据您发布的图片,日期值设置为文本,而不是任何属性

所以,你可以尝试 fromDate.setTextContent("01/05/2018");toDate.setTextContent("15/10/2018");不是设置属性。


查看完整回答
反对 回复 2021-11-24
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

在您的代码中,您试图为不存在的元素属性设置值。

( 'To','Value(s)/From'这些不是属性,这些只是该节点的内部文本内容。)


要设置元素属性,您需要传递一个有效的属性名称(例如,对于一个input元素,您必须将'value'属性作为传递elementObj.setAttribute("value", "YOUR_VALUE"))。


在你的情况下,用这个替换你的代码:


h.setNodeValue("YOUR_VALUE");

// or

h.setTextContent("YOUR_VALUE");


查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信