我有一个简单的登录表单,其中包含2个文本字段和一个按钮。 我可以设置用户名字段的文本就好了。 但是,当我设置密码字段时,表单会自动提交,我收到错误。
来自IRB:
irb(main):008:0> ie.text_field(:name, "j_password").set("password")
WIN32OLERuntimeError: unknown property or method `value'
HRESULT error code:0x80070005
Access is denied.
from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3431:in `method_missing'
from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3431:in `doKeyPress'
from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3427:in `each'
from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3427:in `doKeyPress'
from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3393:in `set'
from (irb):8
irb(main):009:0> ie.text_fields.each {|x| puts x }
type: text
id:
name: j_username
value:
disabled: false
length: 20
read only: false
type: password
id:
name: j_password
value:
disabled: false
length: 20
read only: false
有关错误或表单提交原因的任何想法?
注意:我可以设置字段,没有使用perl,vbscript,python,autoit等提交表单。
答案 0 :(得分:1)
如果您发布相关的HTML或链接(如果页面是公开的),我可以告诉您更多信息,但我的猜测是输入密码会触发提交表单的JavaScript事件。 Access is denied.
可能意味着有一个框架,IE不允许访问它(http://wiki.openqa.org/display/WTR/Frames)。
也许这会有所帮助:
ie.text_field(:name, "j_password").value=("password")