首页 > 代码库 > watir 控件传中文字段时遇到的问题以及解决方法
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 = http://www.mamicode.com/“中文字符”
但试过以上三种方法时 都无效,最后在网上看到一种解决方案:
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 的道路感觉比之前曲折很多,看来以后还得继续努力的!!!
watir 控件传中文字段时遇到的问题以及解决方法