2011-01-09 5 views
1

隠れた入力の中にあるテキスト領域にデータを配置しようとしていますが、Watinはそれを見つけられません。ワクチン; idで要素を取得しない

私は入力を検索すると私のプログラムは、このことを示していますidがダイナミックだったと変更されたため、

alt text

var ie = new WatiN.Core.IE("http://facebook.com", true); 
ie.ClearCookies();         ie.TextField(WatiN.Core.Find.ById("email")).TypeText(textBoxUsername.Text);      ie.TextField(WatiN.Core.Find.ById("pass")).TypeText(textBoxPassword.Text); 
ie.Button(WatiN.Core.Find.ByValue("Login")).Click(); 
ie.Link(WatiN.Core.Find.ByText("Status")).Click();     
        ie.TextField(WatiN.Core.Find.ById("u362110_11")).TypeText(textBoxPassword.Text); 

例外

Could not find INPUT (hidden) or INPUT (password) or INPUT (text) or INPUT (textarea) or TEXTAREA element tag matching criteria: Attribute 'id' equals 'u493403_13' at http://www.facebook.com/home.php 
+0

あなたのコードを教えてください。 – SLaks

+1

上記のHTMLにはID( "u493404_13")がありません.HTMLとコードは正しいですか?あなたのHTMLコードを読むことは非常に難しいので、私はそれを逃した可能性があります – Sparky

+0

ページの新しいロードとしてテキストエリアIDが変わります..... –

答えて

4

が、それは名前で検索してIDを交換することにより、作業ガットいつも

+0

一部の整合性がある場合動的に生成されたIDは、正規表現を使用してFind.ByIdと一致させることもできます –

+0

+1これは私を助けたものではありませんでした。しかし、私は戻り、Find.ByName(tableRow ["Field"])の代わりにFind.ByName(( "Field")を使用したので、他のいたずらな回答を試した後でコードを見直しました。うん、それは正しく、キーワードと正方形のブレーキは、私の仕事の日の費用がかかる。あなたはまだ生きて学びます!乾杯。 :-) –

関連する問題