Fatti
La ricorrente, nata nel 1965, lavorava con un grado d'occupazione del 60 % come aiutante infermiera e come personale di assistenza notturna. Dopo un tamponamento avvenuto il 12 dicembre 2008, con colpo di frusta cervicale, si è annunciata presso l'assicurazione invalidità il 9 novembre 2009.
L'Ufficio AI del Cantone di Zurigo ha svolto accertamenti medici e professionali, ha acquisito gli atti dell'assicurazione infortuni e ha fatto esaminare l'assicurata in una perizia poliedrica presso il Centro per la perizia medica (ZMB) (perizia del 10 aprile 2012). Dopo un progetto di decisione dell'8 ottobre 2012, l'assicurata ha fatto valere un peggioramento ed è dovuta sottoporsi a una terapia psichiatrica stazionaria. Le parti si sono accordate su una perizia psichiatrica di decorso presso uno specialista in psichiatria (perizia del 23 dicembre 2015). Dopo le prese di posizione dei medici e dei terapeuti curanti (maggio 2016) e una replica del perito (11 ottobre 2016), con decisione del 21 luglio 2017 l'Ufficio AI ha negato il diritto alla rendita, con un grado d'invalidità del 22 %.
Il Tribunale delle assicurazioni sociali del Cantone di Zurigo ha respinto il ricorso con sentenza del 30 settembre 2019. Ha constatato che l'assicurata, dal punto di vista somatico, dall'infortunio è abile al lavoro al 50 % nell'attività abituale e all'80 % in attività leggere. Alla perizia psichiatrica è stato riconosciuto pieno valore probatorio; sul piano psichiatrico sussiste al massimo un'incapacità lavorativa del 20 % per tutte le attività. Le valutazioni divergenti dei medici curanti sono state spiegate dal tribunale con la differenza tra mandato di cura e mandato peritale. Un controllo degli indicatori è stato effettuato dal tribunale cantonale stesso, e si è rinunciato ad ulteriori accertamenti e all'audizione dei medici curanti come testimoni.
La ricorrente ha chiesto dinanzi al Tribunale federale che le fosse riconosciuta una rendita sulla base di un grado d'invalidità del 100 %, in via subordinata che la causa fosse rinviata all'istanza precedente. L'Ufficio AI ha chiesto la reiezione. Il tribunale cantonale e l'Ufficio federale delle assicurazioni sociali hanno rinunciato a prendere posizione.
Oggetto della lite: se il tribunale cantonale abbia violato il diritto federale negando il diritto alla rendita.
Diritto
Il Tribunale federale esamina le violazioni del diritto secondo gli art. 95 e segg. LTF liberamente, senza essere vincolato alle argomentazioni delle parti, ed è vincolato all'accertamento dei fatti dell'istanza precedente, salvo che questo sia manifestamente inesatto (arbitrario, art. 9 Cost.) o sia stato accertato violando il diritto federale (art. 105 LTF). L'arbitrio sussiste solo quando non è insostenibile soltanto la motivazione, ma anche il risultato; la critica appellatoria è inammissibile. La valutazione concreta delle prove è esaminabile solo in misura limitata, mentre le questioni relative al valore probatorio di una perizia sono esaminate liberamente.
La ricorrente ha lamentato che la perizia del 23 dicembre 2015 non contenga un controllo degli indicatori secondo DTF 143 V 409 e 418 in relazione con DTF 141 V 281, e che sia pertanto incompleta, e che il tribunale cantonale abbia controllato da sé gli indicatori a torto. Il Tribunale federale rileva che le perizie allestite secondo il precedente standard procedurale non perdono per sé il loro valore probatorio. Decisivo nel caso concreto è se le basi probatorie esistenti - eventualmente insieme ad ulteriori rapporti specialistici - consentano una valutazione coerente alla luce degli indicatori determinanti; eventualmente basta un completamento puntuale (DTF 141 V 281 consid. 8). Nel caso in esame era possibile una valutazione coerente, per cui la perizia conserva il suo valore probatorio e il tribunale cantonale poteva controllare gli indicatori sulla base della perizia. Un controllo degli indicatori convalida giuridicamente l'incapacità lavorativa attestata dal medico; da esso non può derivare un'incapacità lavorativa più elevata.
È stata contestata l'indipendenza del perito. La ricorrente aveva però dichiarato preventivamente e in modo esplicito di accettare la persona del perito. Alle perizie di medici specialisti esterni nella procedura secondo l'art. 44 LPGA può essere riconosciuto pieno valore probatorio, finché non vi siano indizi concreti contro la loro affidabilità. L'affermazione generica di una dipendenza economica del perito dagli incarichi dell'assicurazione invalidità e il richiamo a rapporti divergenti di medici curanti, già considerati nella perizia, non bastano a scuotere il valore probatorio. Le valutazioni dei medici curanti E. e F. sono state giustamente ritenute dal tribunale…