Estoy tratando de hacer un software de automatización que automatice Chrome. Puedo navegar a la página, y la página tiene un botón declarado así en el código:
<div class="bn_diff_image"> <a href="javascript:setMode('ImageText', 0);"></a> </div>La clase muestra una imagen de un botón. Necesito hacer clic en ese botón (para ejecutar el javascript) pero no puedo hacer que funcione. Aquí está el código que he probado:
chromeDriver.ExecuteJavaScript("javascript:setMode('ImageText', 0)")Esto devuelve un error de que no se puede encontrar setMode. Puse un Thread.Sleep en el código para asegurarme de que la página estaba completamente cargada antes de llamar a esto, no hizo ninguna diferencia
Intenté acceder al botón a través del selector CSS
chromeDriver.FindElement(By.CssSelector("a[href*=\'ImageText', 0']")).Click()No encuentra el selector y falla
Intenté encontrar el div por nombre de clase y hacer clic en eso
chromeDriver.FindElement(By.ClassName("bn_diff_image")).Click() 'pero falla diciendo que no puede encontrar el elemento
¿Cómo puedo hacer clic en este enlace o ejecutar ese javacript en la página?
Por favor, pruebe este selector css:
div.bn_diff_image a[href^='javascript:setMode']úsalo así:
chromeDriver.FindElement(By.CssSelector("div.bn_diff_image a[href^='javascript:setMode']")).Click()No importa, soy malo en esto, el elemento estaba en un iFrame. Una vez que elegí el Marco funcionó