Control MixShader value by shape key value
Select the mesh, in the node editor right click hovering the mix Shader slider and choose "Add driver-manually create later".
Then open a graph editor window and set it as "drivers" instead of "F-Curves".
Select the Fac driver you created, open the "N" tab, choose "Drivers" tab, set all thoose options:
Scripted expression, 
var, 
Type of var: single property, 
Type of single property: Key property.



Lastly hover on the shapekey slider, right click on it and choose "Copy data path", then in the driver tab click on the empty path field and press Ctrl V to paste.

Enjoy (consider that in some cases the driver is not updated in the viewport, like in "material" kind of visualisation, but it will work in rendered mode, and you can always click the "Update dependencies" button to have it work).

This is the complete driver in my setup, and an highlight of a common mistake you may be missing.