He did drive them out. why would you say He didn't?
And also exactly as He said, they ran after their gods, and so He sent them into captivity.
He foretold He would drive then out, and He foretold they would be unfaithful, and all these things came to pass. He predicted the thoughts in their hearts a thousand years before they were born.
The Bible describes God as a person in relationship with other persons. The Bible reports God changing His mind and changing his projections according to how His creatures respond to His call to participate with Him in His plans. This is not something that a God who foreknows all things and has decreed all things from the beginning would do.
Ex. 33:1 And the Lord said unto Moses, Depart, and go up hence, thou and the people which thou hast brought up out of the land of Egypt, unto the land which I sware unto Abraham, to Isaac, and to Jacob, saying, Unto thy seed will I give it:
2 And I will send an angel before thee; and I will drive out the Canaanite, the Amorite, and the Hittite, and the Perizzite, the Hivite, and the Jebusite:
3 Unto a land flowing with milk and honey: for I will not go up in the midst of thee; for thou art a stiffnecked people: lest I consume thee in the way.
Numbers 33:51 Speak unto the children of Israel, and say unto them, When ye are passed over Jordan into the land of Canaan;
52 Then ye shall drive out all the inhabitants of the land from before you, and destroy all their pictures, and destroy all their molten images, and quite pluck down all their high places:
53 And ye shall dispossess the inhabitants of the land, and dwell therein: for I have given you the land to possess it.
54 And ye shall divide the land by lot for an inheritance among your families: and to the more ye shall give the more inheritance, and to the fewer ye shall give the less inheritance: every man's inheritance shall be in the place where his lot falleth; according to the tribes of your fathers ye shall inherit.
55 But if ye will not drive out the inhabitants of the land from before you; then it shall come to pass, that those which ye let remain of them shall be pricks in your eyes, and thorns in your sides, and shall vex you in the land wherein ye dwell.
56 Moreover it shall come to pass, that I shall do unto you, as I thought to do unto them.
Jos. 13:1 Now Joshua was old and stricken in years; and the Lord said unto him, Thou art old and stricken in years, and there remaineth yet very much land to be possessed.
2 This is the land that yet remaineth: all the borders of the Philistines, and all Geshuri,
3 From Sihor, which is before Egypt, even unto the borders of Ekron northward, which is counted to the Canaanite: five lords of the Philistines; the Gazathites, and the Ashdothites, the Eshkalonites, the Gittites, and the Ekronites; also the Avites:
4 From the south, all the land of the Canaanites, and Mearah that is beside the Sidonians unto Aphek, to the borders of the Amorites:
5 And the land of the Giblites, and all Lebanon, toward the sunrising, from Baalgad under mount Hermon unto the entering into Hamath.
6 All the inhabitants of the hill country from Lebanon unto Misrephothmaim, and all the Sidonians, them will I drive out from before the children of Israel: only divide thou it by lot unto the Israelites for an inheritance, as I have commanded thee.
7 Now therefore divide this land for an inheritance unto the nine tribes, and the half tribe of Manasseh,
8 With whom the Reubenites and the Gadites have received their inheritance, which Moses gave them, beyond Jordan eastward, even as Moses the servant of the Lord gave them;
9 From Aroer, that is upon the bank of the river Arnon, and the city that is in the midst of the river, and all the plain of Medeba unto Dibon;
10 And all the cities of Sihon king of the Amorites, which reigned in Heshbon, unto the border of the children of Ammon;
11 And Gilead, and the border of the Geshurites and Maachathites, and all mount Hermon, and all Bashan unto Salcah;
12 All the kingdom of Og in Bashan, which reigned in Ashtaroth and in Edrei, who remained of the remnant of the giants: for these did Moses smite, and cast them out.
13 Nevertheless the children of Israel expelled not the Geshurites, nor the Maachathites: but the Geshurites and the Maachathites dwell among the Israelites until this day.
Joshua 23:1 And it came to pass a long time after that the Lord had given rest unto Israel from all their enemies round about, that Joshua waxed old and stricken in age.
2 And Joshua called for all Israel, and for their elders, and for their heads, and for their judges, and for their officers, and said unto them, I am old and stricken in age:
3 And ye have seen all that the Lord your God hath done unto all these nations because of you; for the Lord your God is he that hath fought for you.
4 Behold, I have divided unto you by lot these nations that remain, to be an inheritance for your tribes, from Jordan, with all the nations that I have cut off, even unto the great sea westward.
5 And the Lord your God, he shall expel them from before you, and drive them from out of your sight; and ye shall possess their land, as the Lord your God hath promised unto you.
6 Be ye therefore very courageous to keep and to do all that is written in the book of the law of Moses, that ye turn not aside therefrom to the right hand or to the left;
7 That ye come not among these nations, these that remain among you; neither make mention of the name of their gods, nor cause to swear by them, neither serve them, nor bow yourselves unto them:
8 But cleave unto the Lord your God, as ye have done unto this day.
9 For the Lord hath driven out from before you great nations and strong: but as for you, no man hath been able to stand before you unto this day.
10 One man of you shall chase a thousand: for the Lord your God, he it is that fighteth for you, as he hath promised you.
11 Take good heed therefore unto yourselves, that ye love the Lord your God.
12 Else if ye do in any wise go back, and cleave unto the remnant of these nations, even these that remain among you, and shall make marriages with them, and go in unto them, and they to you:
13 Know for a certainty that the Lord your God will no more drive out any of these nations from before you; but they shall be snares and traps unto you, and scourges in your sides, and thorns in your eyes, until ye perish from off this good land which the Lord your God hath given you.
14 And, behold, this day I am going the way of all the earth: and ye know in all your hearts and in all your souls, that not one thing hath failed of all the good things which the Lord your God spake concerning you; all are come to pass unto you, and not one thing hath failed thereof.
15 Therefore it shall come to pass, that as all good things are come upon you, which the Lord your God promised you; so shall the Lord bring upon you all evil things, until he have destroyed you from off this good land which the Lord your God hath given you.
16 When ye have transgressed the covenant of the Lord your God, which he commanded you, and have gone and served other gods, and bowed yourselves to them; then shall the anger of the Lord be kindled against you, and ye shall perish quickly from off the good land which he hath given unto you.
Judges 2:1 And an angel of the Lord came up from Gilgal to Bochim, and said, I made you to go up out of Egypt, and have brought you unto the land which I sware unto your fathers; and I said, I will never break my covenant with you.
2 And ye shall make no league with the inhabitants of this land; ye shall throw down their altars: but ye have not obeyed my voice: why have ye done this?
3 Wherefore I also said, I will not drive them out from before you; but they shall be as thorns in your sides, and their gods shall be a snare unto you.
4 And it came to pass, when the angel of the Lord spake these words unto all the children of Israel, that the people lifted up their voice, and wept.