Estoy tratando de hacer clic en algunos pseudo elementos usando Selenium Java. Según algunas investigaciones, sé que Selenium no admite clics directos en esos elementos, por lo que tengo que usar JavascriptExecutor para ese propósito.
El problema es que funciona bien cuando lo probé en la consola del navegador, pero no en mi programa Selenium Java. A continuación se muestra lo que estoy tratando de hacer.
Quiero hacer clic en el elemento de flecha resaltado
Fin, entonces quiero hacer clic en el último elemento (prueba)
Esto es lo que sucede cuando uso JavascriptExecutor en Selenium.
La lista de elementos se muestra en la ubicación incorrecta
Recibí el error: error de javascript: no se pueden leer las propiedades de nulo (leyendo 'clic') al intentar hacer clic en la prueba del elemento
A continuación se muestra el código que estoy usando en Selenium:
public void JSclick2(String cssPath, String pseudo, String description) throws InterruptedException, IOException, UnsupportedAudioFileException, LineUnavailableException { // Perform click action on the element try { JavascriptExecutor js = (JavascriptExecutor) driver; String JScommand = "document.querySelector('"+ cssPath + "', '" + pseudo + "').click()"; System.out.println(JScommand); js.executeScript(JScommand); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); printMessage(description); }}
Por favor, dígame por qué ocurre el problema y cómo solucionarlo. ¡Muchas gracias!