2011-12-08 19 views
4

私は最近、WatiNの調査を開始し、http://www.codeproject.com/KB/aspnet/WatiN.aspxの例に従っています。残念ながら、私は "q"という名前のテキストフィールドが存在しないと主張している問題を抱えています。ここでWatiN:Googleの検索テキストボックスにTypeText( "WatiN")を入力しようとしたときにエラーが発生しました

は私のコードです:それはラインietxt.TypeText( "WatiN")になると

[STAThread] 
    static void Main(string[] args) 
    { 
     IE ie = new IE(); 
     ie.GoTo("http://www.google.com"); 
     TextField ietxt = ie.TextField(Find.ByName("q")); 
     ietxt.TypeText("WatiN"); 
     ie.Button(Find.ByValue("Google Search")).Click(); 

    } 

それはエラーがスローされます。 は「INPUT(隠された)またはINPUT(パスワード)を見つけることができませんでしたかINPUT(テキスト)またはINPUT(テキストエリア)またはTEXTAREA要素タグの一致基準:属性 'name'はgoogle.com/の 'q'と同じです(内部例外:30秒以内に要素を使用できませんでした)。 "

誰もがこの例を使用し、それは彼らのために正常に動作します。また、google.comのソースコードに入り、「q」が実際に検索テキストフィールドの名前であることがわかった場所を正確に見つけました。

<input name="q" title="Search" class="gsfi" id="lst-ib" ....> 

なぜこのエラーが発生する可能性がありますか?

+0

Findステートメントを使用しているものが動作していないようです。 –

+0

あなたの意図が「google検索」を行うことになっている場合は、この回答を見たいかもしれません。http://stackoverflow.com/a/8390150/932418 –

+0

ありがとうございます。しかし、私の目的はWatiNを覚えてWebアプリケーションテスト。私はただの実例を今すぐ手に入れようとしています。このコードはWatiNのリソースから直接得られたものなので、これが私のために働いていない理由がいくつかあるはずです... –

答えて

1

この問題を修正しました。さらなるテストから、私の結論には、私のマシン上でIE 8がどのように設定されているかという問題があるように思えた。私はxpとIE8で他のマシンでテストしたところ、すべてうまくいっていました。 IE8をアンインストールして再インストールすると問題が解決しました。

IE8の以前のバージョンとは何が異なって構成されているのかまだ分かりません。なぜなら、これを引き起こした可能性のあるアイデアがあれば、私は喜んで聞きます。

ありがとうございます!

関連する問題