gpt4 book ai didi

javascript - 在网页 View 中使用 Javascript

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:00 25 4
gpt4 key购买 nike

因此,在阅读周围时我了解到我可以将 javascript“注入(inject)”到已加载的网页中以编程方式填写网站的表单,因此我尝试了以下操作:

    public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView WebView;
WebView = (WebView) findViewById(R.id.webview);
WebView.setWebViewClient(new HelloWebViewClient());
WebView.getSettings().setJavaScriptEnabled(true);
WebView.getSettings().setBlockNetworkImage(false);
WebView.loadUrl("http://www.kingsage.es");
String username = "XXX";
String Password = "YYY";
WebView.loadUrl("javascript:document.getElementById('login_player').value='"+username+"';javascript:document.getElementById('login_passwd').value = '"+Password+"';");
}

但是,当我在模拟器上运行它时,出现错误,好像找不到该网站。如果我关闭我加载网站的第二个 loadUrl 方法,但我需要以编程方式填写登录表单!,我认为我做错了什么但我没有找到并回答阅读。任何帮助将不胜感激!!

最佳答案

您需要等到网页加载完毕(使用 WebViewClient )然后执行您的 javascript

webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished (WebView webView, String url)
{
webView.loadUrl("javascript:document.getElementById('login_player').value='"+username+"';javascript:document.getElementById('login_passwd').value = '"+Password+"';");
}
});

还要确保你只执行一次,而不是每个 onPageFinished 都执行一次事件

关于javascript - 在网页 View 中使用 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8953693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com