¿Quieres localizar una cadena con dos espacios en blanco consecutivos
como en la pagina http://notepad.cc/manele85
La cadena "Google" tiene dos espacios en blanco consecutivos entre "o" y "g"
mi código:
require "rubygems"
require "watir"
require "watir-webdriver"
b = Watir::Browser.new :firefox
b.goto "http://notepad.cc/manele85"
puts b.div(:text => "Goo gle").text
productos:
unable to locate element, using {:text=>"Goo gle", :tag_name=>"div"} (Watir::Exception::UnknownObjectException)
¿Alguien puede ayudar?
Gracias
Respuestas
0 para la respuesta № 1Watir normaliza los espacios de s al ubicar elementos por texto. Si establece $DEBUG
a la verdad, puedes ver que Watir está creando el siguiente XPath para b.div(:text => "Goo gle")
:
.//div[normalize-space()="Goo gle"]
Debido a la normalize-space
, Watir tratará múltiples espacios consecutivos como un solo espacio.
Como resultado, al ubicar el elemento, debe eliminar los espacios consecutivos en el localizador:
b.div(:text => "Goo gle").exists?
#=> true
b.div(:text => "Goo gle").text
#=> "Goo gle"
Si desea ubicar el elemento utilizando los múltiples espacios, deberá obtener una colección de elementos y verificar los valores de texto:
div = b.divs.find { |div| div.text == "Goo gle" }
div.text
#=> "Goo gle"