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();

现在,当我调试这段代码时,我得到了正确的结果,但是当我从 servlet 运行这段代码时,我只得到了 html 内容,而不是来自给定链接的正确内容。

我还尝试使用 firefox 驱动程序,并且相同的代码可以正常工作。我也用 Web 客户端尝试了相同的代码,但同样的问题来了。

谁能帮我解决这个例外?

谢谢,

4

1 回答 1

0

调试代码时,您可以在检查点处暂停。但是您不能阻止浏览器加载。它独立加载自己。Htmlunitdriver pagesource返回所有html内容,因为它不能完全执行javascript。如果htmlpage包含Ajax,则javascript调用它会显示调用。

于 2012-09-05T12:56:36.087 回答