在android中使用javascript获取web源代码的最快方法

在android中使用javascript获取web源代码的最快方法,javascript,android,webview,jsoup,chrome-custom-tabs,Javascript,Android,Webview,Jsoup,Chrome Custom Tabs,我目前正在尝试从android获取一些页面的源代码 通过预检查源代码,它包含javascript wb_result.setVisibility( View.GONE ); wb_result.getSettings().setSaveFormData( false ); wb_result.getSettings().setBlockNetworkLoads( true ); wb_result.addJavascriptInterface( new MyJavaScriptInter

我目前正在尝试从android获取一些页面的源代码

通过预检查源代码,它包含
javascript

 wb_result.setVisibility( View.GONE );
 wb_result.getSettings().setSaveFormData( false );
 wb_result.getSettings().setBlockNetworkLoads( true );
 wb_result.addJavascriptInterface( new MyJavaScriptInterface( this ), "HtmlViewer" );
 wb_result.setWebViewClient( new WebViewClient() {

     @Override
     public void onPageFinished(WebView view, String url) {

            wb_result.loadUrl( "javascript:window.HtmlViewer.showHTML" +
                         "('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');" );

     }

 } );
为了能够使用
jsoup
正确解析它,我必须执行以下步骤:

  • 将url加载到Web视图中

  • 使用
    webView
    上的
    jsoup.parse()
    获取包含
    javascript
    的源代码

     wb_result.setVisibility( View.GONE );
     wb_result.getSettings().setSaveFormData( false );
     wb_result.getSettings().setBlockNetworkLoads( true );
     wb_result.addJavascriptInterface( new MyJavaScriptInterface( this ), "HtmlViewer" );
     wb_result.setWebViewClient( new WebViewClient() {
    
         @Override
         public void onPageFinished(WebView view, String url) {
    
                wb_result.loadUrl( "javascript:window.HtmlViewer.showHTML" +
                             "('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');" );
    
         }
    
     } );
    
    wb_result.setVisibility(View.GONE);
    wb_result.getSettings().setSaveFormData(false);
    wb_result.getSettings().setBlockNetworkLoads(true);
    wb_result.addJavascriptInterface(新的MyJavaScriptInterface(this),“HtmlViewer”);
    wb_result.setWebViewClient(新的WebViewClient(){
    @凌驾
    公共void onPageFinished(WebView视图,字符串url){
    wb_result.loadUrl(“javascript:window.HtmlViewer.showHTML”+
    (“”+document.getElementsByTagName('html')[0].innerHTML+“”);”;
    }
    } );
    
  • 在我看来,在我的活动中有一个webView并保持它的可见性是有点奇怪的,只是把它作为一个中间步骤来使用,以获得我需要的源代码+它太慢了

    我想知道获取包含javascript的源代码的最快解决方案是什么

    我读到了关于Chrome定制标签的文章,认为它应该更快一些,但是我无法从我看到的内容中隐藏打开的标签,这会干扰应用程序的流程

    具体来说,我试图获取其源的url是-

    有什么现代的想法吗?我看到的所有解决方案都来自2016年


    谢谢你

    我刚才对你发表了评论。。。我做了很多努力,但我没有使用安卓网络视图,我用了很多其他的。。。您正在解释的解决方案-将页面加载到
    网络视图中
    正是我从多个来源了解到的解决方案。。。(但我还没做,我在做其他事情)。我真的很想知道这个“版本”是否可行……所以让我们听听你的版本=)引用:“我真的很想知道这个版本是否可行……”注:你的两个问题都没有URL,我需要使用它。(这是我说的)。使用webView的版本工作正常,直到它给出status=500/503错误。但这仍然是一个缓慢的过程。我添加了url。