如何在设置URL后从SWT浏览器中获取HTML

时间:2016-07-08 17:57:49

标签: java browser swt

我尝试过使用

sub_id

但我收到此错误

  

线程“main”中的异常org.eclipse.swt.SWTException:无法更改Variant类型结果= -2147352571       在org.eclipse.swt.ole.win32.OLE.error(未知来源)       在org.eclipse.swt.ole.win32.Variant.getAutomation(未知来源)       at org.eclipse.swt.browser.IE.getText(未知来源)       在org.eclipse.swt.browser.Browser.getText(未知来源)

我已阅读此错误报告:https://bugs.eclipse.org/bugs/show_bug.cgi?id=433526

有没有人可以通过其他方式帮助我将HTML从浏览器中删除?

1 个答案:

答案 0 :(得分:2)

您可以强制SWT使用其他浏览器引擎(如果可用)来解决此错误。

例如

Browser browser = new Browser( parent, SWT.WEBKIT );

Browser browser = new Browser( parent, SWT.MOZILLA );

然而,问题的根源是您在完全加载之前尝试获取页面源。如果没有你提到的错误,SWT仍然会返回一个空字符串。

修复方法是侦听页面以完成加载,然后再请求浏览器返回页面源。例如:

Browser browser = new Browser( shell, SWT.NONE );
browser.addProgressListener( new ProgressAdapter() {
  @Override
  public void completed( ProgressEvent event ) {
    String text = browser.getText();
    // here, text will contain the full page source
  }
} );
browser.setUrl( "http://eclipse.org" );