0

私はJavaで実行されるSeleniumスクリプトを作成しました:

    String pageName = "my test url which invloves an link to html which has javscript excution";
    logger.log(Level.INFO,"Page name : " + pageName);
    WebDriver driver = new HtmlUnitDriver(true);

    logger.log(Level.INFO,"driver instance created " );
    String str ="";

    logger.log(Level.INFO,"opening the url now.... " );
    driver.get(pageName);
    logger.log(Level.INFO,"url is now opened :: url = "+driver.getCurrentUrl());
    logger.log(Level.INFO,"driver now going to sleep = "+driver.getCurrentUrl());
    Thread.sleep(150000);

    logger.log(Level.INFO,"Wake up from sleep now....");
    logger.log(Level.INFO,"URL ::"+driver.getCurrentUrl());
    logger.log(Level.INFO,"PageSource ::"+driver.getPageSource());
    try {
        logger.log(Level.INFO,"Driver going to wait now...");
        driver.wait(100000);
        logger.log(Level.INFO,"Driver came out of wait now normally...");
    } catch (Exception e) {
        logger.log(Level.INFO,"Driver came out of wait now exception::"+e);
    }

    logger.log(Level.INFO,"driver instance task completed " );
    logger.log(Level.INFO,driver.getCurrentUrl());

    logger.log(Level.INFO,driver.getCurrentUrl());
    logger.log(Level.INFO,str);

    driver.close();

このコードをデバッグすると適切な結果が得られますが、サーブレットからこのコードを実行すると、指定されたリンクからのコンテンツを除いて、適切なコンテンツではなくhtmlコンテンツのみが取得されます。

また、Firefoxドライバーを使用してみましたが、同じコードで問題なく動作します。Webクライアントでも同じコードを試しましたが、同じ問題が発生しています。

誰かがこの例外で私を助けることができますか?

ありがとう、

4

1 に答える 1

0

コードをデバッグするときは、チェックポイントで停止できます。ただし、ブラウザの読み込みを停止することはできません。独立してロードされます。Htmlunitdriver pagesourceは、javascriptを完全に実行できないため、すべてのhtmlコンテンツを返します。htmlページにAjax、javascript呼び出しが含まれている場合、呼び出しはそのまま表示されます。

于 2012-09-05T12:56:36.087 に答える