Walter Price, 48, is charged with aggravated criminal sexual assault.
A witness told police she caught Price in the act in the 8200-block of South Ridgeland Avenue on Chicago's South Side.
Police say Price fled the scene Wednesday morning but was arrested a short time later.