私は現在、インターネット エクスプローラーのインスタンスを起動し、特定のイントラネット ページに移動し、フォームに入力してそのフォームを送信する ac# ウィンドウ フォーム アプリケーションを作成しています。
コードの一部を次に示します。
int state = 0;
SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorer();
ie.DocumentComplete += ie_DocumentComplete;
ie.Visible = false;
string url = "http://xch:8080/intro/open/index.jsp";
ASCIIEncoding Encode = new ASCIIEncoding();
byte[] post = Encode.GetBytes("check=Agd3458HD3jhf");
string postHeaders = "Content-Type: application/x-www-form-urlencoded";
state = 1;
ie.Navigate2(url, null, null, post, postHeaders);
private void ie_DocumentComplete(object pDisp, ref object URL)
{
if (state == 1)
{
//call a function that fills out the form, submits it and sets "state" to 2
}
else if (state == 2)
{
ie.Visible = true;
}
}
基本的にはこれです。しかし、URL の「xch」にいくつかの大きな問題が発生しているようです。代わりに ip-address を使用すると、すべて問題ありません。「xch」を使用すると、何かが台無しになります。
- ブラウザウィンドウはすでに「ie.Navigate2(...)」に表示されています
DocumentComplete
イベント ハンドラに到達しないHTMLDocument
またはその中のいくつかにアクセスしようとするElements
と、例外がスローされます
私のクライアントは、IPアドレスの代わりにアドレスバーに「xch」を含めることを主張していますが、ブラウザはどちらの方法でもページにアクセスできるため、問題はないだろうと最初に考えました。しかし、明らかに私は間違っていました:/また、「xch」を使用すると問題が常に発生するとは限らないことにも言及する必要があります。これまでのところ、IE9 を搭載した Windows 7 PC と管理者権限を持たないユーザーでのみ発生します。だから、私の質問は、他の誰かが同様の問題を抱えているかどうか、そして問題を絞り込むために何ができるかということです?