我用Webview创建了一个应用程序,需要自动按下按钮
String js = "javascript:(function(){"+
"l=document.getElementByClassName('pri_btn');"+
"e=document.createEvent('HTMLEvents');"+
"e.initEvent('click',true,true);"+
"l.dispatchEvent(e);"+
"})()";
webView.evaluateJavascript(js, new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
String result = s;
}
});
返回null。
任何帮助都将不胜感激!
您可能希望使用一个名为getElementsByClassName
的方法(注意复数形式),该方法返回元素数组。所以您的代码应该如下所示:
String js = "javascript:(function(){"+
"l=document.getElementsByClassName('pri_btn')[0];"+
"l.click();"+
"})()";
webView.evaluateJavascript(js, new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
String result = s;
}
});
另外,当我尝试运行这个函数时,重定向过程中发生了一个SSL错误。要解决这个问题,您应该在WebViewClient
中重写onReceivedSSLerror()
方法,如下所示:
webView.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
if (handler != null){
handler.proceed();
} else {
super.onReceivedSslError(view, null, error);
}
}
});
webView.getSettings().setDomStorageEnabled(true);
编辑:检查元素值中是否出现“登录”:
javascript:(function(){
tab = document.getElementsByClassName('pri_btn');
for(var i=0; i< tab.length; i++){
if(tab[i].value.toLowerCase().indexOf("login") !== -1) return tab[i].click();
}
})()
我正试图让JQuery在按下下一个按钮时自动单击该按钮。在互联网上,我发现应该是这样的(查看JQuery部分)。但由于某种原因,它不起作用。 它们必须在同一个代码中吗? 我尝试过的:JQuery: 表单中的按钮1 HTML: 表单中的按钮2 HTML:
问题内容: 我需要自动单击网页中的任何“添加”按钮,如下所示: “ https://groceries.asda.com/search/yoghurt ” 但是,页面中的“添加”按钮都没有名称或ID。所以我不能使用Selenium包中的命令。 谁能帮我? 问题答案: 要单击特定产品的任何特定按钮,可以编写如下方法: 现在,您可以单击传递其标题的任何按钮,如下所示:
我正在为Android在Eclipse中编写一个应用程序。该应用程序不断与Web服务器中的内容进行通信。在服务器中,我有一个带有另一个按钮的html文件。我希望当我按下Android应用程序中的按钮时,html文件中的按钮被自动单击...是否可能。请建议... 我看到下面的代码(jquery): 谢啦
我想知道如何选择listview first item select并通过单击按钮自动单击。 使用下面的代码,我可以选择第一行,但无法选择。 这是我的listview点击事件: 非常感谢您的帮助!如果有人想了解更多信息,请务必告诉我,以便我更新我的问题。
问题内容: 我有一个HTML表单,其中使用了几个按钮。问题是,无论我单击哪个按钮,即使该按钮的类型不是“ submit”,也将提交表单。例如:之类的按钮,导致表单提交。 为这些按钮中的每个按钮执行一次操作是非常痛苦的。 我使用jQuery和jQuery UI,并且网站使用HTML5。 有没有办法禁用这种自动行为? 问题答案: 像按钮 是 提交按钮。 设置以改变它。是默认值(由HTML建议指定)。
问题内容: 我有一个小型的Android应用程序,该应用程序会在5秒钟后自动单击按钮。我已经用过,但这行不通。当计时器归零时,它只会崩溃。 这是我的代码: 问题答案: 您应该发布包含错误消息的logcat,但是一个问题可能是您正在从UI线程访问UI元素,这不是一个好主意。 要执行您想要的操作,您实际上不需要其他线程。您可以使用和来代替,如下所示。 这将安排在5秒钟后在UI线程上执行。如果仍然崩溃,