watir 控件传中文字段时遇到的问题以及解决方法

在给watir控件传递中文参数时遇到几个问题,现在解决方法如下

1、ie.text_field(:name=>"UserName").set("中文字符")

时报错,报错如下

Invalid char '\243' in expression
Invalid char '\254' in expression
Invalid char '\273' in expression

 

解决方案:代码前加上编码格式 #encoding: utf-8

2 ie.text_field(:name=>"UserName").set("中文字符") 页面显示乱码,如下图显示

解决方案在网上有几种,现总结如下

1、选中某个项目,点击 “右键”,点击菜单中的“属性”,

进入属 性页面,设置编码为GB2312

2、修改 D:\ruby\lib\ruby\gems\1.8\gems\watir-1.6.5\lib\watir\win32ole.rb 文件中的下面代码

WIN32OLE.codepage = WIN32OLE::CP_UTF8

修 改为

WIN32OLE.codepage =  WIN32OLE::CP_ACP

3、ie.text_field(:name=>"tbUserName").set(“中文字符”)

换为方法

ie.text_field(:name=>"tbUserName").value = “中文字符”

但试过以上三种方法时 都无效,最后在网上看到一种解决方案:

str = "中文字符串"

ie.text_field(:name, "q").set("#{Iconv.conv('utf-8', str.encoding.name, str)}") # q is the name of the search field

但运行后发现没有找到encoding 方法

最终改为如下方法,终于在页面上显示正常

@ie.text_field(:name, "operName").set("#{Iconv.new('utf-8', 'gbk').iconv(str)}") 

学习watir 的道路感觉比之前曲折很多,看来以后还得继续努力的!!!

 

转载于:https://www.cnblogs.com/mytestlife/p/3934683.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值