Oil based polyurethane "dries" in two stages. First the solvents evaporate leaving the resin behind. This normally takes on the order of hours, but as others have mentioned it depends on the temperature, humidity, and thickness of the finish. When the solvent has evaporated the finish will still be sticky. The second stage of drying is cross-linking, where the molecules react in the presence of oxygen to bond with one another. Cross-linking is what makes polyurethane finishes more durable than other finishes. It takes a little longer, but it should not take weeks if the finish was good and properly mixed.
I don't think you have much to lose by trying to seal it with shellac, or even wax, but if that doesn't work then you are left with stripping or sanding back to the wood and refinishing - or put a sheet of glass over it.
Checklist for the refinishing:
- Is the polyurethane compatible with earlier stain?
- Are the temperature and humidity within the recommendations?
- Is it a new can of finish? (check the expiration date before you buy)
- Stir the can of finish well.
- Use multiple thin coats instead of one heavy coat.