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

时间: 2024-10-20 08:28:04

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

因用了NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误的解决方法

今天遇到一个问题,就是"NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误",百度后发现了一个解决方法,跟大家分享下: NeatUpload是一个开源的大文件上传控件,非常的强大,支持文件类型过滤.上传进度条显示.多文件上传等强大的功能. 但部署至项目后,有些地方用普通的FileUpload上传时却发生了一个错误(Nonfile portion > 4194304 bytes,文件大于默认值4M),因如果用NeatUp

ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表

原文:ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表 本篇文章将介绍区域报表和页面报表的常见使用场景.区别和选择报表类型的一些建议,两种报表的模板设计.数据源(设计时和运行时)设置.和浏览报表的区别. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及产品资源 ActiveReports 报表控件官方中文入门教程 (2)-创建.数据源.浏览以及发布 本篇文章包括以下部分: 1.区域报表和页面报表的区别 两种报表的具体应用场景 区

ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源

?? 本系列文章主要是面向初次接触 ActiveReports 产品的用户,能够帮助您在三天之内轻松的掌握ActiveReports控件的基本用法,包含安装.激活.创建报表.绑定数据源以及公布等内容.本篇文章我们就从安装产品開始带您开启轻松的 ActiveReports 体验之旅. 系列文章列表: ActiveReports 报表控件官方中文新手教程 (2)-创建.数据源.浏览以及公布 ActiveReports 报表控件官方中文新手教程 (3)-怎样选择页面报表和区域报表 本文内容包含: 安装

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

原文:ActiveReports 报表控件官方中文入门教程 (2)-创建.数据源.浏览以及发布 本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及产品资源 ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表 主要内容包括: 新建工程 在工程中添加ActiveReports报表文件 添加报表数据源 浏览报表 发布

ActiveReports 报表控件官方中文入门教程 (1)-安装、激活以及产品资源

原文:ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及产品资源 本系列文章主要是面向初次接触 ActiveReports 产品的用户,可以帮助您在三天之内轻松的掌握ActiveReports控件的基本使用方法,包括安装.激活.创建报表.绑定数据源以及发布等内容.本篇文章我们就从安装产品开始带您开启轻松的 ActiveReports 体验之旅. 系列文章列表: ActiveReports 报表控件官方中文入门教程 (2)-创建.数据源.浏览以及发布 ActiveRepo

Java开发,AWT控件的中文显示成乱码的解决方法

使用Java开发程序时,AWT控件上的中文在程序运行的时候显示成乱码,这是myeclipse的运行参数设置的问题. 解决方法: 第一:在你的具有main函数的类也即你应用运行的主类上点击右键,选择Run As中的Run Configurations,如下图: 第二,在Arguments标签下的VM arguments中添加下面这行参数代码,然后点击应用. -Dfile.encoding=GB18030 重新运行程序,就能够正常的显示中文了.Java开发,AWT控件的中文显示成乱码的解决方法

设置DevExpress GridControl控件时间列显示时、分、秒样式

如题,如果Dev GridControl控件绑定DataTable数据源时,DataTable中的某一列为Date类型时,GridControl默认显示样式只显示当前日期,并不会将时.分.秒显示出来.如图: 解决方案: 设置显示样式,如图: 设置完成,显示结果展示,如图:

.net控件API中文技术文档大全

最近发现MDT推出去的系统的有不同问题,其问题就不说了,主要是策略权限被域继承了.比如我们手动安装的很多东东都是未配置壮态,推的就默认为安全壮态了,今天细找了一下,原来把这个关了就可以了. .net控件API中文技术文档大全

WPF设置控件获取键盘焦点时的样式FocusVisualStyle

控件获取焦点除了用鼠标外,可以通过键盘来获取,比如Tab键或者方向键等,需要设置控件获取键盘焦点时的样式,可以通过设置FrameworkElemnt.FocusVisualStyle属性, 因为几乎所有常用的控件都继承了FrameworkElement,所以绝大部分控件都拥有该属性 // Summary: // Gets or sets a property that enables customization of appearance, effects, // or other style