码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-08-25 13:21:14      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   文件   ar   2014   问题   

在给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("中文字符") 页面显示乱码,如下图显示bubuko.com,布布扣

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

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 的道路感觉比之前曲折很多,看来以后还得继续努力的!!!

 

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

标签:style   blog   http   color   io   文件   ar   2014   问题   

原文地址:http://www.cnblogs.com/mytestlife/p/3934683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!