如何停止Selenium中的无效长度警告?

时间:2008-11-17 15:51:38

标签: selenium

有时在运行selenium时,它会显示类似于以下内容的消息:

  

警告 - 长度无效:Content-Length = 798242 write = 8192

然后Selenium停止响应。自动化网站在ASP.NET上运行,并通过IIS提供。

如何防止Selenium由于此类错误而停止?

2 个答案:

答案 0 :(得分:1)

网址只能这么久。 RFC中定义了硬限制。我怀疑您发出的命令会导致URL超出这些限制。您需要调试Selenium脚本并找出导致问题的原因而不是抑制此症状。

答案 1 :(得分:0)

Selenium Server抱怨的问题是,请求的页面包含798242字节的Content-Length标头,但Selenium仅接收8192字节的数据。我发现,当您的某个网页手动写入Response流而不是使用ASP.NET生命周期时,通常会发生这种情况。

寻找这样的代码:

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();