如何自动单击WebView中的链接

时间:2012-02-18 13:48:15

标签: android webview

好的,伙计们。我知道这听起来很奇怪,但我想要实现的是当我运行应用程序时。 webview首先加载链接,在我输入所有细节后,它必须自动单击webview内的按钮。有没有办法做到这一点?我尝试加载不同的链接以打开新窗口。

例如,

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    ourBrow = (WebView) findViewById(R.id.wvBrowser);
    // cancel the web intent that default in android setting
    ourBrow.setWebViewClient(new WebViewClient());
    url = (TextView) findViewById(R.id.tvSC);

    // webView settings
    ourBrow.getSettings().setJavaScriptEnabled(true);
    ourBrow.getSettings().setLoadWithOverviewMode(true);
    ourBrow.getSettings().setUseWideViewPort(true);
    Button SCode = (Button) findViewById(R.id.btSCode);
    loadUrl("http://www.google.com.au");

这部分效果很好,但我想要的是当搜索栏内的长度等于4时,“搜索”按钮会自动按下

非常感谢你的帮助!!!

1 个答案:

答案 0 :(得分:0)

你也许可以通过在webview中执行一些尴尬的javascript来做到这一点。

要发出点击,您可能会执行类似

的操作
ourBrow.loadUrl("javascript:getElementById('button_id').click()");

由于您需要等待搜索栏的长度为4,因此您可能希望在javascript中在该字段上注册一个侦听器并在那里发出单击。我不能告诉你最好的方法,但你可能需要为'change'设置一个eventlistener或者设置onKeyUp或类似的东西,看看该字段的长度是否> = 4然后发出点击。你可以在javascript行中嵌套所有这些。

在页面加载后设置它,即。在webview上设置WebViewClient并在onPageFinished(WebView view, String url)回调或类似内容中加载javascript。