セレンを実行すると、次のようなメッセージが表示されることがあります。
警告-無効な長さ:Content-Length = 798242written = 8192
そして、Seleniumは応答を停止します。自動化されているWebサイトはASP.NETで実行され、IIS経由で提供されます。
エラーが原因でSeleniumが停止しないようにするにはどうすればよいですか?
セレンを実行すると、次のようなメッセージが表示されることがあります。
警告-無効な長さ:Content-Length = 798242written = 8192
そして、Seleniumは応答を停止します。自動化されているWebサイトはASP.NETで実行され、IIS経由で提供されます。
エラーが原因でSeleniumが停止しないようにするにはどうすればよいですか?
URL は非常に長くすることができます。RFC で定義されているハード リミットがあります。これらの制限を超える URL になるコマンドを発行していると思われます。この症状を抑えるのではなく、Selenium スクリプトをデバッグして、問題の原因を突き止める必要があります。
Selenium Server が訴えている問題は、要求されたページに 798242 バイトの Content-Length ヘッダーが含まれていたにもかかわらず、Selenium は 8192 バイトのデータしか受信しなかったことです。これは通常、Web ページの 1 つが ASP.NET ライフサイクルを使用する代わりに、Response ストリームに手動で書き込む場合に発生することがわかりました。
次のようなコードを探します。
Response.ClearContent();
string data = GetSomeData();
Response.Write(data);
Response.Flush();
Response.Close();
次のような Content-Length ヘッダーを追加する必要があります。
Response.AddHeader("Content-Length", data.Length.ToString());
したがって、コードは次のようになります。
Response.ClearContent();
string data = GetSomeData();
Response.AddHeader("Content-Length", data.Length.ToString());
Response.Write(data);
Response.Flush();
Response.Close();