【问题标题】:HTML code getter using SWT Browser使用 SWT 浏览器的 HTML 代码获取器
【发布时间】:2012-12-14 15:45:12
【问题描述】:

如何使用 SWT Broser 将 html 页面代码转换为字符串?

    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setSize(100, 100);


    Browser browser = new Browser(shell, SWT.NONE);
    browser.setBounds(5, 75, 100, 100);

    shell.open();
    browser.setUrl("https://google.com");

    String html = browser.getText(); //NOTHING!

    while (!shell.isDisposed()) {

        if (!display.readAndDispatch() && html == null) {

            display.sleep();
        }
    }

    display.dispose();

    Syste.out.println(html); ////NOTHING!

那么,我该如何获取 html?最好的方法是,当 html-code 获取显示窗口后会关闭?

【问题讨论】:

    标签: java html eclipse swt


    【解决方案1】:

    您要搜索的方法是:Browser#getText()。以下是 javadoc 的重要部分:

    返回一个带有 HTML 的字符串,表示当前页面的内容。

    这样就可以了:

    String html = browser.getText();
    
    System.out.println(html);
    

    第二个问题:您可以通过调用Shell#close() 来关闭shell。这是 Javadoc:

    请求窗口管理器关闭接收器,其方式与用户单击“关闭框”或执行某些其他平台特定的键或鼠标组合以指示应删除窗口时关闭接收器的方式相同。

    【讨论】:

    • 我认为您的示例中的意思是 browser.getText()
    • @Baz,对不起,我的错...当然,Browser#getText() 不起作用!
    • @iKrumping 这可能是因为页面尚未加载。尝试在调用setUrl()getText() 之间等待几秒钟。
    • @Baz,是的!谢啦。通过将ProgressListener 添加到Browser 中解决了问题。
    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 2016-06-23
    • 2010-09-18
    • 2013-09-29
    • 1970-01-01
    • 2011-04-02
    • 2016-08-01
    • 2010-11-05
    相关资源
    最近更新 更多