一.问题
使用watir1.5时候,如果发现它不支持中文,可以尝试修改
一下它的源代码。
二. 解决方案
1.打开watir.rb
2.在class TextField中加入一个新的method,代码如下:
-------------------------------------------
def characters_in(value)
index = 0
while index < value.length
len = value[index] > 128 ? 2 : 1
yield value[index, len]
index += len
end
end
-------------------------------------------
3.更改class TextField的doKeyPress( value )方法部分代码,将下面代码注释掉或删除
-------------------------------------------
for i in 0 .. value.length-1
sleep @ieController.typingspeed
typing speed
c = value[i,1]
@ieController.log " adding c.chr " + c .chr.to_s
@o.value = @o.value.to_s + c
fire_key_events
end
-------------------------------------------
替换为如下代码
-------------------------------------------
characters_in(value) {|c|
sleep @ieController.typingspeed
@o.value = @o.value.to_s + c
fire_key_events
}
-------------------------------------------
使用watir1.5时候,如果发现它不支持中文,可以尝试修改
一下它的源代码。
二. 解决方案
1.打开watir.rb
2.在class TextField中加入一个新的method,代码如下:
-------------------------------------------
def characters_in(value)
index = 0
while index < value.length
len = value[index] > 128 ? 2 : 1
yield value[index, len]
index += len
end
end
-------------------------------------------
3.更改class TextField的doKeyPress( value )方法部分代码,将下面代码注释掉或删除
-------------------------------------------
for i in 0 .. value.length-1
sleep @ieController.typingspeed
typing speed
c = value[i,1]
@ieController.log " adding c.chr " + c .chr.to_s
@o.value = @o.value.to_s + c
fire_key_events
end
-------------------------------------------
替换为如下代码
-------------------------------------------
characters_in(value) {|c|
sleep @ieController.typingspeed
@o.value = @o.value.to_s + c
fire_key_events
}
-------------------------------------------