/ / WATIR no puede localizar la cadena con dos espacios en blanco consecutivos: watir, watir-webdriver

WATIR no puede localizar la cadena con dos espacios en blanco consecutivos: watir, watir-webdriver

¿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 № 1

Watir 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"