In effetti anche a me era sorto questo dubbio... se il bookmarklet agisce prima del caricamento della pagina, potrebbe essere impossibile fargli esaminare la pagina prima di caricarla, motivo per cui stavo cercando di creare anche lo "script 1)" (ma probabilmente lo script che ho creato per firegestures risulterebbe comunque più comodo).
O forse il problema vale solo se se apro il link con location.replace e si possono trovare soluzioni alternative? Mi viene in mente qualcosa tipo caricare la pagina virtualemente, individuare l'elemento e quindi caricarla realmente, ma sarebbe una schifezza lenta e sprecona.
Riguardo al querySelector, non sono sicuro di aver capito cosa dover inserire, ad occhio il testo del link mi sembra estraneo a questo tipo di funzione. Sarà meglio che mi cerchi un po' di documentazione...
Se si tratta di una soluzione più efficiente di quella che utilizzo nello script che ti ho passato, ben venga.