【问题标题】:HTMLUNIT third party analyze of Website, Issues with Javascript being not foundHTMLUNIT 第三方网站分析,未发现 Javascript 问题
【发布时间】:2012-04-08 20:16:45
【问题描述】:

我正在创建一个程序,该程序将自动检查网站上的数据以确保一切正常运行(也称为健康检查)。我在使用 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.js”中远程加载的 JavaScript 元素的预期内容类型为“application/javascript”或“application/ecmascript”,但得到了“”。

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

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

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

有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

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

    替换它们

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 2015-09-25
      相关资源
      最近更新 更多