ログインして、動的にロードされた Web ページで WatiN を使用して注文のステータスを確認する Web 自動化を実行しようとしています。Visual Studio C# Express 2010 と IE ブラウザーを使用しています。
昨日は正常に動作していた a から .Text を取得するためのいくつかのコード<TD>
が動作しなくなりました。問題のにはと<TD>
が含まれていますが、これは問題ですか?<NOBR>
<INPUT>
必要なテキストも含まれています<INPUT>
が、タグには定義された属性ID
またはNAME
属性がなく、テストごとに同じではない内部テキスト/値が含まれています。問題のサイトを編集できません。または、これは何年も前に修正されたはずです。
犯人:
public TableCell Status {
get {
return Document.TableCell(Find.ById("elementID"));
}
}
他の TableCells は機能していませんが、TextFields とボタンは問題ありません。私の推測では、この Web サイトは大規模であり、WatiN は要素を見つけようとして時々タイムアウトする可能性があります。ElementNotFoundException()
ただし、ドキュメントの最後に到達した場合にのみ、WatiN が をスローしたことはかなり確信していました。(???)
フォーム要素は、デバッグのために完全にロードされていなかったので、問題になる可能性があると思いましたが、要素ではない for 要素はすべて正しくロードされ、存在することはすべてに当てはまりました。また、これは単なるデバッグの問題であり、.exe を .dll ファイルと共にデスクトップにコピーすると問題なく動作しました。
「プロパティ評価とその他の暗黙的な関数呼び出しを有効にする」が無効になるようにデバッガーを設定しましたが、それは役に立ちませんでした。
この方法は、ストレート .exe を実行していたときに機能しましたが、Visual Studio では機能しませんでした。その後、まったく同じコードを再構築し、.exe をデスクトップに再度コピーすると、機能しなくなりました。
更新: 接続先のサイトの Web 管理者がいくつかの変更を加えたようです。彼から返事が来たらまた更新します。