Problemi relativi ai clic

Errore "Elemento non cliccabile"

Il clic di ChromeDriver funziona simulando un clic del mouse al centro del primo rettangolo del client dell'elemento (o del rettangolo del client di delimitazione se non ha un rettangolo del primo client). Il modo più semplice per scoprire dove ChromeDriver sta tentando di fare clic è aprire gli strumenti di sviluppo di Chrome e ispezionare l'elemento su cui fare clic prima che venga richiamata l'operazione di clic. Seleziona l'elemento nella finestra di ispezione e nota le caselle blu che rappresentano le indicazioni del client dell'elemento, come mostrato di seguito. ChromeDriver proverà a fare clic sul centro del primo.

Se ChromeDriver visualizza l'errore "Elemento non cliccabile", è più probabile che la posizione non sia effettivamente cliccabile dall'utente. Per fare un test, posiziona il cursore al centro del primo rettangolo del client e controlla se la posizione è cliccabile.

Nel caso precedente, il test cercava di fare clic sull'elemento di ancoraggio. In questo caso, l'elemento di ancoraggio non è cliccabile; solo l'immagine secondaria lo è. A causa di uno stile margin-bottom nell'elemento immagine, la parte centrale dell'elemento di ancoraggio non rientra nei limiti dell'immagine cliccabile e ChromeDriver genera un errore. Per maggiori informazioni su come vengono determinati il posizionamento/le dimensioni, consulta le specifiche w3. Per correggere il caso precedente, fai clic sull'immagine anziché sull'ancoraggio.

L'errore "Elemento non cliccabile" si verifica spesso nelle seguenti situazioni quando un test tenta di:

  • fare clic su un ancoraggio i cui elementi discendenti cliccabili non rientrano nei limiti dell'ancoraggio (come sopra)
  • Fare clic su un elemento completamente o parzialmente sotto un altro elemento
  • fare clic su un elemento fuori schermo quando è presente un overlay fisso (l'elemento viene visualizzato tramite scorrimento, ma può essere fatto scorrere sotto l'overlay fisso)
  • Fai clic su un elemento su cui non è possibile fare clic al centro (ad esempio alcuni tipi di elementi SVG convessi).

Questi problemi spesso possono essere risolti facendo clic su un elemento secondario dell'elemento in questione, rimuovendo o nascondendo in modo programmatico l'elemento di blocco, utilizzando l'API Advanced Activities per fare clic su un offset dall'angolo in alto a sinistra dell'elemento oppure simulando un evento di clic del mouse in JavaScript.

Errore "Elemento non cliccabile"

Questo accade molto probabilmente perché la posizione dell'elemento è cambiata qualche tempo dopo che ChromeDriver ha determinato la posizione dell'elemento, ma prima che ChromeDriver generi effettivamente un clic in quella posizione.

Per determinare se è questo il tuo problema, recupera l'eccezione dal clic e registra immediatamente la posizione e le dimensioni correnti dell'elemento. Confrontalo con la posizione su cui ChromeDriver segnala di aver tentato di fare clic nell'eccezione e verifica se sono diversi. Aspetta che l'elemento si fermi o prova a fare di nuovo clic. In caso contrario, segnala un bug con una piccola pagina di test che possa essere utilizzata per riprodurre il problema (anche se lo attiva solo occasionalmente).

ChromeDriver non riesce a fare clic su un elemento in movimento

Questa non è una funzionalità supportata di ChromeDriver. Se l'elemento alla fine si arresta, attendi che ciò si verifichi. Se l'elemento non smette mai di muoversi, ChromeDriver non garantisce che il clic venga eseguito correttamente.