无法通过drop_down网页从请求中获取数据-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

无法通过drop_down网页从请求中获取数据

几许相思几点泪 2019-12-24 09:59:46 71

我从python开始,现在我在BOT网站上使用获取数据的请求,我需要获得贷款利率,但在请求中它检索个人存款利率中的数据。

https://www.bot.or.th/English/Statistics/FinancialMarkets/Interestrate/_layouts/application/interest_rate/IN_Rate.aspx

分享到
取消 提交回答
全部回答(1)
  • 游客2q7uranxketok
    2021-02-20 14:43:11

    演示:https://github.com/1178128850/webviewloaddate

    :

    package com.killua.webview;

    import android.graphics.Bitmap; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.webkit.JavascriptInterface; import android.webkit.WebResourceError; import android.webkit.WebResourceRequest; import android.webkit.WebView; import android.webkit.WebViewClient;

    public class MainActivity extends AppCompatActivity {

    public WebView mWebView;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mWebView = new WebView(this);
        settings();
        mWebView.setWebViewClient(new WebViewClient(){
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);
            }
    
            @Override
            public void onPageFinished(WebView view, String url) {
                Log.i("===", "onPageFinished: ");
                // 获取页面内容
                view.loadUrl("javascript:window.java_obj.showSource("
                        + "document.getElementsByTagName('html')[0].innerHTML);");
    
                // 获取解析<meta name="share-description" content="获取到的值">
                view.loadUrl("javascript:window.java_obj.showDescription("
                        + "document.querySelector('meta[name=\"share-description\"]').getAttribute('content')"
                        + ");");
                super.onPageFinished(view, url);
            }
    
            @Override
            public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
                super.onReceivedError(view, request, error);
            }
        });
        mWebView.loadUrl("http://list.iqiyi.com/www/2/-------------24-1-1-iqiyi--.html");
    }
    
    public final class InJavaScriptLocalObj
    {
        @JavascriptInterface
        public void showSource(String html) {
            System.out.println("====>html=" + html);
        }
    
        @JavascriptInterface
        public void showDescription(String str) {
            System.out.println("====>html=" + str);
        }
    }
    
    private void settings(){
        // 开启JavaScript支持
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "java_obj");
        // 设置WebView是否支持使用屏幕控件或手势进行缩放,默认是true,支持缩放
        mWebView.getSettings().setSupportZoom(true);
        // 设置WebView是否使用其内置的变焦机制,该机制集合屏幕缩放控件使用,默认是false,不使用内置变焦机制。
        mWebView.getSettings().setBuiltInZoomControls(true);
        // 设置是否开启DOM存储API权限,默认false,未开启,设置为true,WebView能够使用DOM storage API
        mWebView.getSettings().setDomStorageEnabled(true);
        // 触摸焦点起作用.如果不设置,则在点击网页文本输入框时,不能弹出软键盘及不响应其他的一些事件。
        mWebView.requestFocus();
        // 设置此属性,可任意比例缩放,设置webview推荐使用的窗口
        mWebView.getSettings().setUseWideViewPort(true);
        // 设置webview加载的页面的模式,缩放至屏幕的大小
        mWebView.getSettings().setLoadWithOverviewMode(true);
    }
    

    }

    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章