在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);
}
});
更新:如果有其他人因使用完全相同的网站(即Soundcloud)而陷入困境:如果您升级频道,它们会为您提供无弹出框架。也许这适合你的用例,这是我最终选择的。