update - internet explorer 10 windows 7
Watir:: IE.attach(: title,/x/) no funciona correctamente en Win 7 IE8 (3)
Sistema: Ventana 7 Internet Explorer 8 Ruby 1.8 Watir 1.6.5
Si abro manualmente una ventana del navegador y luego visito un sitio que hace que se abra una segunda ventana del navegador y luego uso el método Watir :: IE.attach para encontrar la segunda ventana del navegador todo funciona bien. El problema es cuando abro la primera ventana de Internet Explorer con el comando Watir :: IE.new y luego visito un sitio que hace que se abra una segunda ventana del navegador. Cuando uso Watir :: IE.attach para encontrar la segunda ventana del navegador que ahora obtengo: Watir :: Exception :: NoMatchingWindowFoundException: no se puede ubicar una ventana con el título (? -mix: x) de /ie-class.rb: 297: en ''attach_browser_window'' from /ie-class.rb:149:in ''_attach_init'' from /ie-class.rb:143:in ''attach'' from (irb): 15
¿Alguien se ha encontrado con este problema y ha desarrollado una solución?
He investigado un poco más y estoy ejecutando mi script con derechos administrativos, y está abriendo IE8 como administrador y luego tratando de abrir una nueva ventana. Intenté abrir IE8 como administrador manualmente y luego abrir una nueva ventana desde el navegador, luego ejecutar el comando adjuntar con watir y obtuve el mismo error que si creara la ventana inicial con watir.
Quiero poder ejecutar mi script como administrador.
Intenté ejecutar manualmente el comando watir y también ejecutarlo en un script:
======================
requiere ''rubygems''
requiere ''watir''
ie = Watir :: IE.start (" http://www.quackit.com/html/codes/html_open_link_in_new_window.cfm ")
ie.link (: text, "HTML Help"). click
ie2 = Watir :: IE.attach (: título, / Ayuda /)
======================
Desactive el Control de cuenta de usuario (configurado en la configuración más baja). Vaya a Panel de control-> Sistema y seguridad-> Centro de actividades-> Cambiar configuración de control de cuenta de usuario, y suelte el control deslizante a la configuración más baja.
Estaba experimentando el mismo problema, y esto lo solucionó.
En este momento, watir supone que la ventana a la que desea conectarse se llama "Internet Explorer". Creo que el nombre del IE8 podría ser diferente de esto. Puede cambiar esto en la línea 238 de ie-class.rb.
Bret
Estoy recibiendo el mismo problema. Lo he investigado un poco más, y el problema parece ser que cuando ya existe una instancia de IE8 que se abrió con privilegios administrativos, Watir no verá ninguna otra ventana IE8 que se ejecute como administrador, incluidas las se abre a sí mismo.
Llegué a esta conclusión al hacer esto:
Watir::IE.each do |window|
puts window.title
end
Los casos que probé fueron:
- Ninguna ventana IE previamente abierta resultó en que enumerara solo el nuevo navegador, no el que creó (al que quería adjuntar).
- Una o más ventanas IE no administradas previamente abrirían una lista de las instancias de navegador preexistentes, así como de sí misma, pero nuevamente no mostrarían la nueva ventana generada.
- Una o más ventanas abiertas de IE que se ejecutaban como administrador eran ligeramente diferentes en cuanto a que enumerarían todas las ventanas preexistentes, pero no se incluirían en una lista ni a ninguna ventana adicional que creara.
Lo que me llevó a la conclusión de que Watir no conservará en su lista ninguna instancia de IE8 con privilegios de administrador que cree después de que haya un IE8 abierto por el administrador existente.
La solución que estoy usando en este momento es simplemente no ejecutar mis scripts como administrador. Me doy cuenta de que no es una opción en algunos casos, pero es lo mejor que he podido encontrar hasta ahora.