0

我正在创建一个程序,该程序将自动检查网站上的数据以确保一切正常运行(也称为健康检查)。我在使用 javascript 时遇到问题。这是页面的源代码。

<html>

<head>
<title>Webpage</title>

<SCRIPT LANGUAGE="Javascript" SRC="common.js"></SCRIPT>
<SCRIPT LANGUAGE="Javascript" SRC="homepages.js"></SCRIPT>
<script language="JavaScript" src="write_cookie.js"></script>
</HEAD>

<FRAMESET COLS="160,*" FRAMESPACING=0 FRAMEBORDER=0 BORDER=0>
 <FRAMESET ROWS="51%,42%,7%" FRAMESPACING=0 FRAMEBORDER=0 BORDER=0>
<FRAME SRC="left.jsp" MARGINWIDTH=0 MARGINHEIGHT=0 NORESIZE="NORESIZE"    SCROLLING="auto" NAME="leftframe">
<FRAME SRC="bottomleft.htm" NAME="bottomleft" NORESIZE="NORESIZE"  SCROLLING="auto">
<FRAME SRC="copyright.jsp" SCROLLING="NO" NAME="copyright" NORESIZE="NORESIZE">
 </FRAMESET>
 <FRAMESET ROWS="30,*" cols="*" FRAMESPACING=0 FRAMEBORDER=0 BORDER=0>
<FRAME SRC="header.jsp" SCROLLING="NO" MARGINWIDTH=0 MARGINHEIGHT=0  NORESIZE="NORESIZE" NAME="topbuttons">
  <FRAME SRC="content.jsp" MARGINWIDTH=0 MARGINHEIGHT=0 NAME="main" NORESIZE="NORESIZE">
  </FRAMESET>
 </FRAMESET>
   <noframes></noframes>
  </HTML>

如果我理解正确,如果我试图引用“Content.jsp”中的元素,我就不需要 .

WebClient webClient = new WebClient();

    // Get the first page
    HtmlPage homepage = webClient.getPage("webpage");
    List<HtmlElement> mainF =homepage.getElementsByIdAndOrName("My Account");

但是它没有检测到该元素,我收到此错误...

2012 年 4 月 8 日下午 4:11:48 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl 通知警告:“https://Webpage/common”上远程加载的 JavaScript 元素的预期内容类型为“application/javascript”或“application/ecmascript”。 js',但得到了''。

2012 年 4 月 8 日下午 4:11:48 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl 通知警告:“https://Webpage/mui/”上远程加载的 JavaScript 元素的预期内容类型为“application/javascript”或“application/ecmascript” homepages.js',但得到了''。

2012 年 4 月 8 日下午 4:11:49 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl 通知警告:“https://Webpage/mui/”上远程加载的 JavaScript 元素的预期内容类型为“application/javascript”或“application/ecmascript” write_cookie.js',但得到了''。

2012 年 4 月 8 日下午 4:11:50 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl 通知警告:“https://Webpage/mui/”上远程加载的 JavaScript 元素的预期内容类型为“application/javascript”或“application/ecmascript” menuDisplay.js',但得到了''。

有什么想法吗?

4

1 回答 1

0

尝试删除所有语言=“JavaScript”并用更正确的类型=“文本/javascript”替换它们

只是一个注释,以确保您的代码不会过时。你有很多大写的东西。在 HTML 中使用小写标签创建所有未来的项目可能是值得的。我注意到你在开始标签之前也没有任何东西,这很不寻常。有一天你会为这种编码风格付出高昂的代价;一个好的开始是调查一个格式正确的 html 文件是什么样子,然后创建一个基本的 html 文件,然后通过事实上的验证器运行它:http: //validator.w3.org/

我认为问题在于该工具的 html 代码存在问题,因为它不是有效的 HTML。通过验证器运行它。

于 2012-04-08T23:08:49.720 回答