0

Web サイトのデータをチェックして、すべてが正しく実行されていることを確認するプロセスを自動化するプログラムを作成しています (ヘルス チェックとも呼ばれます)。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 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl 通知 警告: 'https://Webpage/common. js」ですが、「」を取得しました。

2012 年 4 月 8 日 4:11:48 PM 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 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl 通知 警告: 'https://Webpage/mui/ でリモートでロードされた JavaScript 要素の 'application/javascript' または 'application/ecmascript' の予期されるコンテンツ タイプmenuDisplay.js」ですが、「」を取得しました。

何かご意見は?

4

1 に答える 1

0

すべての language="JavaScript" を削除し、より正しい type="text/javascript" に置き換えてみてください

コードを将来的に保証するためのメモです。大文字のものがたくさんあります。HTML で小文字のタグを使用して、将来のすべてのプロジェクトを作成する価値があるかもしれません。開始タグの前にも何もないことに気付きましたが、これは非常に珍しいことです。いつの日か、このスタイルのコーディングに大きな代償を払うことになるでしょう。適切な形式の html ファイルがどのようなものかを調べてから、基本的な html ファイルを作成し、それをデファクト バリデーター ( http://validator.w3.org/ ) で実行することから始めることをお勧めします。

問題は、有効な HTML ではないため、ツールの html コードに問題があることだと思います。バリデーターを介して実行します。

于 2012-04-08T23:08:49.720 に答える