我花了最后一天尝试自动点击此按钮无济于事。按钮的来源是这个。
<button type="button" class="btn btn-success ng-binding" ng-click="save()" ng-disabled="saveButton.disabled">Save</button>
按钮只在点击几次按钮后弹出,所以我一直在循环我的脚本以防万一。
我的第一个解决方案(通过重新加载返回一大堆错误):
$(function(){
document.getElementsByClassName("save()")[0].click();
});
我的第二个(什么都不做):
$(function(){
document.getElementsByClassName("btn btn-success ng-binding")[0].click();
});
我会继续尝试不同的东西,同时希望等待答案,如果我发现有效的话会更新。
答案 0 :(得分:0)
您的第一个解决方案不起作用,因为@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNavigationDrawerFragment = (NavigationDrawerFragment)
getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
mTitle = getTitle();
// Set up the drawer.
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer,
(DrawerLayout) findViewById(R.id.drawer_layout));
}
@Override
public void onNavigationDrawerItemSelected(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new DashboardMain();
break;
case 1:
fragment = new IncomeMain();
break;
case 2:
fragment = new LossMain();
break;
case 3:
fragment = new CategoriesMain();
break;
case 4:
fragment = new VendorsMain();
break;
case 5:
fragment = new Logout();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.container, fragment).addToBackStack("fragback").commit();
}
}
不是您按钮的类名,因此getElementsByClassName()
将返回一个空数组,其第一个元素当然是未定义的,因此它没有一个save()
函数。
你的第二个解决方案完美无缺。我在按钮上添加了一个点击监听器,然后是你的解决方案。如您所见,事件被触发并显示事件侦听器中的警报。
click()
document.getElementsByClassName("btn btn-success ng-binding")[0].onclick = function() {
alert('Button clicked!');
};
document.getElementsByClassName("btn btn-success ng-binding")[0].click();