android webview上使用javascript操作为什么没反应

我试着在webview上加载CSDN的一个页面,然后通过F12查看网页源代码找到了搜索按键的ID号,运行后页面能成功加载,但是不出触发点击按键,谁能看看是哪里的问题?


public class MainActivity extends AppCompatActivity {

    Button button;
    WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button= findViewById(R.id.button);
        webView = findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webView.setWebChromeClient(new WebChromeClient());
        final String urlStr = "https://so.csdn.net/so/search?q=webview%E8%B0%83%E7%94%A8javascript%E8%AF%AD%E5%8F%A5&t=&u=&urw=";
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                // handler.cancel();// Android默认的处理方式
                handler.proceed();// 接受所有网站的证书
                // handleMessage(Message msg);// 进行其他处理
            }
        });
        webView.loadUrl(urlStr);//打开一个指定的Web资源界面(加载网址)
        button.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View view) {
//

                webView.loadUrl("javascript: document.getElementById('search').click();");
            }
        });






        }

    }

能写个Demo给我参考一下就更好了,我就想实现通过代码来操作webview上显示网页里的文本框或者按键


public class MainActivity extends AppCompatActivity {
 
    Button button;
    WebView webView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button= findViewById(R.id.button);
        webView = findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webView.setWebChromeClient(new WebChromeClient());
        final String urlStr = "https://so.csdn.net/so/search?q=webview%E8%B0%83%E7%94%A8javascript%E8%AF%AD%E5%8F%A5&t=&u=&urw=";
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                // 网页加载完成后触发点击事件
                webView.loadUrl("javascript: document.getElementById('search').click();");
            }

            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                // handler.cancel();// Android默认的处理方式
                handler.proceed();// 接受所有网站的证书
                // handleMessage(Message msg);// 进行其他处理
            }
        });
        webView.loadUrl(urlStr);//打开一个指定的Web资源界面(加载网址)
        button.setOnClickListener(new View.OnClickListener(){
 
            @Override
            public void onClick(View view) {
                // 手动触发点击事件
                webView.loadUrl("javascript: document.getElementById('search').click();");
            }
        });
    }
}


javascript:(function(){" 
     document.getElementById('search').click(); " }

加一个function