android 如何使用javascript将java变量输入带有webview的外部网站

lx0bsm1f  于 2022-12-09  发布在  Android
关注(0)|答案(1)|浏览(103)

我有一个搜索OCR应用程序结果的应用程序,但是我找不到一种方法将这些结果输入到我的网页视图中。我已经尝试过这种方法,但是它没有将任何内容输入到搜索栏中。

String drug1 = "tetracycline";

webView.setWebViewClient(new WebViewClient(){
    @JavascriptInterface
    public void onPageFinished(WebView view, String weburl){
        webView.loadUrl("javascript:document.getElementById('livesearch-interaction-basic').value = <%= drug1 %>; null");
        webView.loadUrl("javascript:document.getElementsByTagName('input')[2].click()");

然而,其余的代码工作正常,因为这是完美的工作。

webView.setWebViewClient(new WebViewClient(){
    @JavascriptInterface
    public void onPageFinished(WebView view, String weburl){
        webView.loadUrl("javascript:document.getElementById('livesearch-interaction-basic').value = 'isotretinoin'; null");
        webView.loadUrl("javascript:document.getElementsByTagName('input')[2].click()");

我也试过

.value = String(<%= drug1 %>); null");
.value = (<%= drug1 %>); null");
.value = drug1; null");
.value = <%= drug1 %>; null");
.value = (drug1); null");
etc.

没有错误,它只是搜索第二个。我错过了什么吗?
是否可以在我的JS代码中像这样使用该字符串?如果不能,我将如何搜索该字符串?

pzfprimi

pzfprimi1#

在webview中加载URL之前,可以在字符串变量中处理该URL。

String drug1 = "tetracycline";
String finalUrl = "javascript:document.getElementById('livesearch-interaction-basic').value = '"+ drug1 + "'; null";
webView.loadUrl(finalUrl);

相关问题