首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >HtmlUnit在将jQuery从1.7升级到1.8.1后没有正确地重定向

HtmlUnit在将jQuery从1.7升级到1.8.1后没有正确地重定向
EN

Stack Overflow用户
提问于 2012-09-11 11:52:04
回答 2查看 1.4K关注 0票数 0

我使用HtmlUnit 2.10单击一个链接,该链接触发重定向到另一个JavaScript的JavaScript。JavaScript使用window.location重定向。结果与我直接用URL打开页面的结果不同。重定向页面的结果看起来好像页面仍然在加载,尽管它不是。

当查看发送的请求时,看起来好像HtmlUnit请求页面,甚至从我试图重定向的页面发送ajax请求,但没有显示出来。我尝试过将"page.asXml()“写入到.html文件中,以获得页面的预览,其中几乎没有包含任何内容,就好像它仍然在加载新内容一样。但是,我也试着等待长达100秒钟的时间来加载页面

代码语言:javascript
代码运行次数:0
运行
复制
synchronized (page) {
   page.wait(int x);
}

这对结果没有任何影响。

我不能为这个错误提供一个可复制的脚本,因为该页面目前只在本地运行。

对什么会出错有什么想法吗?

编辑:我可以补充说,当从jQuery 1.7.0.升级到jQuery 1.8.1时,这个问题似乎就出现了。

EN

回答 2

Stack Overflow用户

发布于 2012-09-11 16:53:34

我仍然不清楚如何完全解决您的问题,但我已经假设如何更深入地研究您的问题(即您是否被正确地重定向):将页面上的1-2个元素本地化(您希望使用cssSelector或xpath重定向)。然后重定向调用fluentWait()

代码语言:javascript
代码运行次数:0
运行
复制
  public WebElement fluentWait(final By locator){
            Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
                    .withTimeout(30, TimeUnit.SECONDS)
                    .pollingEvery(5, TimeUnit.SECONDS)
                    .ignoring(NoSuchElementException.class);

            WebElement foo = wait.until(
    new Function<WebDriver, WebElement>() {
                public WebElement apply(WebDriver driver) {
                            return driver.findElement(locator);
                    }
                    }
    );
                               return  foo;              }     ;

你可以读到关于流利等待这里的文章

如果它返回被重定向到的页面上的web元素。否则就失败了。希望这能帮到你。

票数 0
EN

Stack Overflow用户

发布于 2012-09-11 17:02:03

确保已经将WebClient设置为将it's redirectEnabled字段设置为true。要做到这一点,只需在执行请求之前添加这一行.

代码语言:javascript
代码运行次数:0
运行
复制
webClient.setRedirectEnabled(true);

这将确保HtmlUnit客户端遵循重定向。

这是文件表示该方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12369083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档