普通网友 2017-05-17 02:50 采纳率: 100%
浏览 2182
已结题

htmlunit 如何监听来自页面的alert 请说的详细些

package com.hommsun.util;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.springframework.util.Assert;

import com.gargoylesoftware.htmlunit.AlertHandler;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.Page;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

public class weizai implements AlertHandler {
public static void main(String[] args) throws FailingHttpStatusCodeException, MalformedURLException, IOException {
WebClient webClient = new WebClient(BrowserVersion.INTERNET_EXPLORER);
webClient.getCookieManager().setCookiesEnabled(true);// 开启cookie管理
webClient.getOptions().setTimeout(90000);
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.setJavaScriptTimeout(40000);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);

    HtmlPage page= webClient.getPage("http://192.168.1.108/");

}

@Override
public void handleAlert(Page arg0, String arg1) {

}

}

以上的连接是我些的测试页面 会直接弹出 alert 控制台也会输出

10:35:52.651 [main] WARN com.gargoylesoftware.htmlunit.javascript.host.Window - window.alert("asdsa") no alert handler installed

我想拿到提示 然后 给页面显示

  • 写回答

2条回答 默认 最新

  • 沈复_sf 2018-04-08 06:26
    关注

    WebClient web = new WebClient(BrowserVersion.CHROME);

        web.setIncorrectnessListener(new IncorrectnessListener() {
            @Override
            public void notify(String arg0, Object arg1) {
            }
        });
        web.setCssErrorHandler(new ErrorHandler() {
    
            @Override
            public void warning(CSSParseException arg0) throws CSSException {
            }
    
            @Override
            public void fatalError(CSSParseException arg0) throws CSSException {
            }
    
            @Override
            public void error(CSSParseException arg0) throws CSSException {
            }
        });
    
        web.setJavaScriptErrorListener(new JavaScriptErrorListener() {
    
            @Override
            public void loadScriptError(HtmlPage arg0, URL arg1, Exception arg2) {
                System.out.println(arg2.getMessage());
                System.out.println(arg0.asXml());
                System.out.println(arg1.getRef());
                try {
                    Thread.sleep(3000000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
    
            @Override
            public void malformedScriptURL(HtmlPage arg0, String arg1,
                    MalformedURLException arg2) {
            }
    
            @Override
            public void scriptException(HtmlPage arg0, ScriptException arg1) {
                System.out.println(arg0.asXml());
                System.out.println(arg1.getMessage());
                try {
                    Thread.sleep(3000000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
    
            @Override
            public void timeoutError(HtmlPage arg0, long arg1, long arg2) {
            }
        });
    
        web.setHTMLParserListener(new HTMLParserListener() {
    
            @Override
            public void warning(String arg0, URL arg1, String arg2, int arg3,
                    int arg4, String arg5) {
                // TODO Auto-generated method stub
            }
    
            @Override
            public void error(String arg0, URL arg1, String arg2, int arg3,
                    int arg4, String arg5) {
                // TODO Auto-generated method stub
    
            }
        });
    
    
        兄台 看懂没有。
    
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)