HTMLUNIT第三方分析网站,未找到Javascript问题

时间:2012-04-08 20:16:46

标签: java javascript web-scraping htmlunit web-testing

我正在创建一个程序,可以自动检查网站上的数据,以确保一切正常运行(也就是健康检查)。我有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>

如果我理解correclty,如果我试图引用“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 notify   警告:“https://Webpage/common.js”中远程加载的JavaScript元素的“application / javascript”或“application / ecmascript”的预期内容类型,但得到了''。

     

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

     

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

     

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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

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