A 30-year-old woman has been arrested for allegedly carjacking a man at knife-point and gunpoint in Crescentville, police said.

Police said the incident happened around 7 p.m. on Adams Avenue near Tabor Road. A 40-year-old man operating an unmarked limousine reported that he went to pick up a fare at the address when a woman got into the backseat of the car and allegedly pulled a knife and put it to his throat, demanding the car.

The driver told police he grabbed the knife with both hands and struggled with the suspect, who then let go of the knife and pulled out a handgun. The driver got out of the car and called police as the suspect drove away.

When 2nd District officers arrived, the driver told police the car -- a 2010 Chrysler 300M -- was equipped with GPS. Police said they were able to track the vehicle to Huntingdon Pike near Cedar Road in Abington. Police went to that location and allegedly spotted the car being driven into a parking lot and a woman getting out and walking away quickly. Police apprehended the woman and took her to Aria Health's Torresdale campus, where the driver positively identified her.

The woman, whose name has not been released, is being charged with robbery, carjacking, aggravated assault and weapons offenses.

Police said they recovered a bloody 12-inch knife from the front seat of the vehicle and observed blood in the driver's seat. The gun was not immediately found, police said.

The driver is listed in stable condition with cuts to both his hands, police said.