2011-12-07 131 views
4

最近WatiNのテストと使用を開始しました。私は本当に解決できないいくつかの問題やエラーを発見しました。リンク/ブラウザのWatiNを取得しよう

私は自分のテストで何をしているのかを最初に説明しています。 リスト内の特定のdivのすべてのリンクを取得します...リンクリストがあります...スルー... ループでは、リンク(新しいieタブで開きます)を開くためにlink.clicknowait()関数を使用するつもりです..その後、私は数秒のようにスレッドをスリープ状態にし、新しいブラウザにリンク(url)し、その後、ブラウザは常に 'using(..)'ステートメントを使用してimとして閉じられます。

最初の問題は、ブラウザがすべてのリンクを取得してクリックを開始すると、リンクの1つが正しいページではなくなるということです。これはページの存在がもう存在しないということを意味しますその後、私はもうこのページを閉じることはできません...これをどのように解決して攻撃するのですか?それは既存のページではないのですか? それはあなたがお勧めできる何か...固定URLを持っていませんか?

"Attach to ...."のような方法はありますか?存在しないリンクにブラウザを攻撃しようとするとエラーが発生するためです。

また、リンクリストのリンクがまだ正しいかどうかを確認するにはどうしますか?また、ページ内で空であったため、そのリンクをクリックすることができなかった回数も例外ではありませんでした。 私はlink.trytoclick()のようなものをチェックすることができますが、エラーの場合は、そのリンクを無視して、さらに進みますか?

最後に、リンクの多くをクリックしてブラウザを開閉した後に、私はエラーでoutofmemoryexceptionを取得しました。どうすればよいのですか?

ご協力いただきありがとうございます。

答えて

1

リンクを確認した後、元のページに戻ることができるhrefを使用して、あなたのwatinセッションの同じウィンドウでリンクを開くことができます。

このようないくつかの事:

string href = browser.Link("link_id").GetAttributeValue("href"); //or your link from the collection 
browser.GoTo(href); 
//Perform you check 
browser.Back(); 

リンクが使用を存在するかどうかを確認するために:

session.browser.Back(); 
関連する問題