All gasoline engines run at a optimum stoichiometric air to fuel ratio of 14.7:1. Aka every gram of fuel needs 14.7 grams of air.
The weight of air changes while the weight of fuel does not. This is why fuel injected engines rely on MAF/MAP sensors to weigh the air.
The computer adjusts the ratio based on the feedback from the sensors MAF/MAP sensor for incoming air, and o2 sensor for exiting exhaust. Any fault in these sensors can result in false data to the computer and cause a rich running condition. The computer also assumes the fuel injectors, fuel pump, and fuel pressure regulator are working correctly as there are no sensors for these parts so the computer cannot tell if they are faulty. The computer is simply pre-programmed with the proper specifications of these parts, so a leaking injector, bad fuel pressure regulator, or bad fuel pump can also cause the engine to run rich.
I would start by pulling any codes from the ECU, details on this are in the tech section. Also clean the MAF sensor with approved maf sensor cleaner, and pull the vacuum line off the fuel pressure regulator, if there is any sign of gasoline in the vacuum line you need to replace the regulator. Next consider the age of the o2 sensors. They last about 100,000 miles or 10 years, if they are older they need to be replaced.
You can test for leaking injectors by letting the engine sit for a couple hours and then holding the throttle pedal to the floor. Attempt to start the engine. It shouldn't do anything but crank. If it starts or even attempts to start you have one or more leaking injectors. Holding the pedal to the floor while starting turns off power to the fuel injectors so any fuel getting to the engine is coming from a leak.