想要找到一个包含两个连续空格的字符串
中string&#34; Google&#34;在&#39; o&#39;之间有两个连续的空格。和&#39; <&#39;
我的代码:
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
输出:
unable to locate element, using {:text=>"Goo gle", :tag_name=>"div"} (Watir::Exception::UnknownObjectException)
任何人都可以提供帮助吗?
由于
答案 0 :(得分:0)
通过文本定位元素时,Watir规范化空格。如果将$DEBUG
设置为true,则可以看到Watir正在为b.div(:text => "Goo gle")
创建以下XPath:
.//div[normalize-space()='Goo gle']
由于normalize-space
,Watir会将多个连续的空格视为单个空格。
因此,在定位元素时,应删除定位器中的连续空格:
b.div(:text => "Goo gle").exists?
#=> true
b.div(:text => "Goo gle").text
#=> "Goo gle"
如果您确实想要使用多个空格来定位元素,则必须获取元素集合并检查文本值:
div = b.divs.find { |div| div.text == 'Goo gle' }
div.text
#=> "Goo gle"