ruby/watir webdriver中使用正则表达式的语法

ruby/watir webdriver中使用正则表达式的语法,ruby,regex,watir,Ruby,Regex,Watir,我可以使用文本上的精确匹配找到我要查找的元素,如下所示,但当我尝试将其扩展到使用正则表达式时,它不起作用。我做错了什么 >> browser.h3(:text => 'Latest News').exist? => true >> browser.h3(:text, 'Latest News').exist? => true >> browser.h3(:text, /Latest News/).exist? => false p

我可以使用文本上的精确匹配找到我要查找的元素,如下所示,但当我尝试将其扩展到使用正则表达式时,它不起作用。我做错了什么

>> browser.h3(:text => 'Latest News').exist?
=> true
>> browser.h3(:text, 'Latest News').exist?
=> true
>> browser.h3(:text, /Latest News/).exist?
=> false

p browser.h3(:文本“最新消息”) #“最新消息”:tag_name=>“h3”}> =>#“最新消息”:tag_name=>“h3”}> >>p browser.h3(:text,/Latest News/) #/最新消息/,:tag_name=>“h3”}> =>#/最新消息/,:tag_name=>“h3”}> 根据评论进行编辑,在afl网站上找到了他想要的HTML。这是html页面中唯一一个不区分大小写搜索“最新新闻”的匹配项

<div class="double-col column">
  <div class="segment   ">
    <h3 class="section-header    blocked">
        LATEST NEWS</h3>
    <div class="content">
      <div class="list-item focus">
        <div class="img-holder">
      .........                             

最新消息
.........                             

鉴于测试站点,我无法复制您的结果。对我来说,所有使用“最新消息”的定位器都返回false(即字符串和正则表达式匹配)。页面文本都是大写的“最新消息”。使用它而不是“最新消息”,允许字符串和正则表达式定位器返回true

require 'watir'

browser = Watir::Browser.new :chrome
browser.goto 'afl.com.au'

puts browser.h3(:text => 'Latest News').exist?
#=> false
puts browser.h3(:text, 'Latest News').exist?
#=> false
puts browser.h3(:text, /Latest News/).exist?
#=> false

puts browser.h3(:text => 'LATEST NEWS').exist?
#=> true
puts browser.h3(:text, 'LATEST NEWS').exist?
#=> true
puts browser.h3(:text, /LATEST NEWS/).exist?
#=> true

你能给我们完整的句子吗
regex
?你能做
p browser.h3(:text,'Latest News')
p browser.h3(:text,/Latest News/)
?并向我们展示结果请提供相关的HTML,或更好的链接到相关页面。@wim我问的问题,你能给出吗?希望这会有所帮助。转到网站,找到我能找到的最接近的HTML并添加到问题中,希望有帮助。奇怪。我更新了我的ruby版本和gems,现在错误行为神奇地消失了。我也有同样的问题注意:使用正则表达式有时会有点慢,所以通常最好避免使用它,除非需要
require 'watir'

browser = Watir::Browser.new :chrome
browser.goto 'afl.com.au'

puts browser.h3(:text => 'Latest News').exist?
#=> false
puts browser.h3(:text, 'Latest News').exist?
#=> false
puts browser.h3(:text, /Latest News/).exist?
#=> false

puts browser.h3(:text => 'LATEST NEWS').exist?
#=> true
puts browser.h3(:text, 'LATEST NEWS').exist?
#=> true
puts browser.h3(:text, /LATEST NEWS/).exist?
#=> true