2013-01-16 67 views
2

我想在使用element.flash方法时更改闪光颜色。默认情况下它的黄色。 我能够在elements.rb文件中增加闪光次数和延迟时间。但我不知道如何改变高亮颜色。 对此有何想法?如何更改闪光颜色?

如果浏览器元素具有黄色背景,使用不同的颜色突出显示将会有所帮助。

+1

您是使用watir-classic还是watir-webdriver?我记得在代码中定义了背景颜色的地方,它应该像猴子修补方法一样简单。 –

+0

我正在使用watir 2.0.4。 – Sunny

回答

2

解决方案

闪烁的是基于元素的容器的activeObjectHighLightColor。这是通过做设置:

element.container.activeObjectHighLightColor = "colour" 

colour是一个有效的Web友好的颜色(按照container.rb file)。

示例 - 闪存对于单个元素

作为一个例子,这里正在改变对谷歌搜索的文本字段中闪光颜色:

#Use google search text field as a test page 
ie = Watir::Browser.new 
ie.goto 'www.google.ca' 
e = ie.text_field(:name => 'q') 

#Set the flash colour 
e.container.activeObjectHighLightColor = "green" 

#Flash the object, which should now be green 
e.flash 

注:

  • 这只适用于Watir-classic。 Watir-webdriver以不同的方式闪烁。
  • 我只在最新版本的watir-classic中测试过,但2.0.4的代码看起来是一样的。

示例 - 默认闪光色彩

要改变一切的默认闪光灯的颜色,你需要设置activeObjectHighLightColor的浏览器。

如果你想改变它当前的浏览器,这样做:

ie = Watir::Browser.new 
ie.activeObjectHighLightColor = "green" 

ie.goto 'www.google.ca' 
e = ie.text_field(:name => 'q') 
e.flash 
#=> Will flash green 

如果你想永久改变(即,这样你就不必设置每次它),你可以改变颜色在ie-class.rb文件中:

HIGHLIGHT_COLOR = 'yellow' 
+0

谢谢贾斯汀。这在Watir 2.0.4中运行良好。但是默认情况下,颜色是黄色的。所以我想知道它在哪个文件中提到。 – Sunny

+1

默认颜色在ie-class.rb文件中指定。虽然我会建议为浏览器对象设置activeObjectHighLightColor(请参阅答案更新)。 –

+0

很酷。感谢更新。 – Sunny