问题描述
大家!我又来了,因为我有问题。当我点击锚点时,服务器显示错误日志,页面没有更新,我无法获取 iframe 标记。
链接页面:“https://compras.cetiqt.senai.br/portal/Mural.aspx”
这是我的代码::
try (final WebClient webClient = new WebClient(browserVersion.BEST_SUPPORTED)) {
webClient.getoptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getoptions().setThrowExceptionOnScriptError(false);
HtmlPage htmlPage = webClient.getPage("https://compras.cetiqt.senai.br/portal/Mural.aspx");
webClient.waitForBackgroundJavaScript(20_000);
DomNodeList tds = htmlPage.getElementsByTagName("td");
HtmlTableDataCell td = (HtmlTableDataCell) tds.get(1);
td.click();
webClient.waitForBackgroundJavaScript(20_000);
HtmlAnchor linkEdital = (HtmlAnchor) htmlPage.getByXPath("//a[@data-acao='edital']").get(0);
linkEdital.click();
webClient.waitForBackgroundJavaScript(20_000);
}
服务器日志:
2021-05-07 11:56:53.167 信息 1632 --- [cTaskExecutor-1] .g.h.NicelyResynchronizingAjaxController :重新同步调用 https://compras.cetiqt.senai.br/portal/WebService/Servicos.asmx/PesquisarResumoEdital 2021-05-07 11:56:56.184 错误 1632 --- [cTaskExecutor-1] c.g.h.j.DefaultJavaScriptErrorListener :JavaScript 期间出错 执行
com.gargoylesoftware.htmlunit.ScriptException:innerText 是只读的 对于标签“html” (https://compras.cetiqt.senai.br/Portal/Scripts/portaljs1?v=Ei-iqWxCMWoSqcf1vkTQ_kcBnknTwdegoFEvCAf9vgc1#1) 引起的: net.sourceforge.htmlunit.corejs.javascript.EvaluatorException: 对于标签“html”,innerText 是只读的 (https://compras.cetiqt.senai.br/Portal/Scripts/portaljs1?v=Ei-iqWxCMWoSqcf1vkTQ_kcBnknTwdegoFEvCAf9vgc1#1) 在 com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory$HtmlUnitErrorReporter.runtimeError(HtmlUnitContextFactory.java:460)
非常感谢。
解决方法
设置innerText的问题在2.50.0版本修复。