Android WebView 在所有框架(包括 iframe)中运行 Javascript

use*_*404 9 javascript iframe android

在 WebView 中的 Soundcloud iframe 中,我想执行以下 js: (document.getElementsByClassName('mobilePrestitial__link')[0]).click()

在 iOS 中,我通过设置实现了这一点forMainFrameOnly: false,但是我似乎无法在 Android 上找到此设置。我该怎么做才能在所有帧上执行上述 js 以便点击通过?

这就是我现在正在尝试的方式,但它不起作用。

webView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            String javascript = "javascript:(document.getElementsByClassName('mobilePrestitial__link')[0]).click()\n" +
                    "setTimeout(function() {\n" +
                    "(document.getElementsByClassName('mobilePrestitial__link')[0]).click()\n" +
                    "}, 5000);";
            view.loadUrl(javascript);
        }
    });
Run Code Online (Sandbox Code Playgroud)

更新:如果其他人在完全相同的网站上遇到这个问题,即 Soundcloud:如果您升级频道,他们会为您提供一个无弹出框。也许这适合您的用例,这就是我最终采用的方法。