ワチール:どのように私はワチールでフォームを送信せずに、フォームに値を入力しますか?

StackOverflow https://stackoverflow.com/questions/1677418

  •  16-09-2019
  •  | 
  •  

質問

私は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の、パイソン、のAutoItなどを使用して送信されているフォームずにうまくフィールドを設定することができます。

役に立ちましたか?

解決

あなたは、関連するHTMLまたはリンクを掲載場合(ページが公開されている場合)、私はもっとあなたを伝えることができますが、私の推測では、パスワードの火災を入力すると、フォームを送信しているJavaScriptのイベントということです。 Access is denied.はフレームがあることを意味するかもしれない、とIEはそれへのアクセスを許可していません(ます。http:// wiki.openqa.org/display/WTR/Frames に)。

多分これは役立つだろう。

ie.text_field(:name, "j_password").value=("password")
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top