我正在尝试使用Android4.4中的新evaluateJavascript方法,但是当我尝试评估这段javascript代码时
browser.evaluateJavascript("(function() { document.getElementById('login').value='"+username+"'; document.getElementById('password').value='"+password+"'; document.getElementsByTagName('input')[2].click(); return '';})();",new ValueCallback<String>() {
@Override public void onReceiveValue(String s) {
}
});应用程序崩溃,返回:
Fatal signal 6 (SIGABRT) at 0x00006225 (code=-6), thread 25125javascript代码是正确的,因为使用旧方法
browser.loadUrl("javascript:(function() { ...它起作用了。
在做一些测试时,我发现问题是在什么时候执行函数
document.getElementsByTagName('input')[2].click();输入是一个提交按钮,它发送一个表单。
我如何填写表格并寄出?
发布于 2013-11-14 20:06:13
根据Trigger form submission in chrome javascript console的问题,在表单上调用submit()可能会更简单。我试着重现你的问题,但没有崩溃-在提交按钮上使用click()和在表单上使用submit()对我来说都很好。
但是SIGABRT看起来很糟糕,你是从UI线程调用的吗?如果没有,那就先试一试。如果它是从UI线程调用的,那么你绝对应该在the Android Open Source Project Issue Tracker上提交一个bug。理想情况下,您应该在崩溃后立即包含adb bugreport的输出,以及演示该问题的示例应用程序。
https://stackoverflow.com/questions/19925253
复制相似问题