无法以编程方式在Webview Java android中发送单击按钮事件

时间:2017-04-28 04:47:10

标签: javascript java android webview

我正在加载一个网站,用于在Java Android中搜索广告到Webview。我可以预先填写Searchkeyword字段,但我似乎无法触发搜索图标click()来提交搜索。

我在其他网站上使用相同的代码,它工作正常。我可以触发click()事件。

这是我加载到WebView http://www.kijiji.ca/

的网站

它想要做的是填写搜索词,然后选择搜索图标以查询搜索显示结果。

            String searchKeyword = "cars";

            final String js = "javascript:" +
                    "document.getElementById('SearchKeyword').value = '" + searchKeyword + "';"  +
                    "document.getElementById('header-button-submit').click()";

            if (Build.VERSION.SDK_INT >= 19) {
                view.evaluateJavascript(js, new ValueCallback<String>() {
                    @Override
                    public void onReceiveValue(String s) {
                        String result = s;

                    }
                });
            } else {
                view.loadUrl(js);
            }

我是否从html doc“header-button-submit”获得了正确的ID?

1 个答案:

答案 0 :(得分:0)

在网站中,按钮不包含ID。所以这个document.getElementById('header-button-submit').click()将不起作用。使用getElementsByClassName or getElementsByName

示例:document.getElementsByClassName('searchSubmit-3685231415 searchSubmit__on-407610085').click() 要么 document.getElementsByName('SearchSubmit').click()