LCD keypad shield (dfrobot) doesn't work

I can confirm that this SKU 118059 shield has the problem (haven't had trouble because of that, but that beside) that is addressed here.

The constructor that fits it is:

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

So that is correct in your code.

The USB connector doesn't touch those pins, it's about 3 mm (0.12 ") inwards from those pins on the shield.

I have written a review (along with 76 others) about this product, part of what is in it:

me:
Cons:
Unit was DOA, with a non working display. After ordering and receiving a new display, fixing it was easy. There's no data available (haven't foud one yet) so had to follow the traces to find out how to set it up, which is an easy job. Display updates a bit slow compared to some other one i tried.

Other:
So here's the setup for the display part: LiquidCrystal lcd(8, 9, 4, 5, 6, 7); Reading the keys on analog(0) returns (usb powered): Select : 723 Left :482 Up : 133 Down : 308 Right : 0 The value "Down" will probably always be 0 but the other ones can vary because of external influences like load of the power supply and temperature. so you would have to test for a range covering mentioned values.

Indeed, check for bad contacts, if you have any soldering skills, just redo the pins from display to shield, and shield to Arduino headers.