有时在运行selenium时,它会显示类似于以下内容的消息:
警告 - 长度无效:Content-Length = 798242 write = 8192
然后Selenium停止响应。自动化网站在ASP.NET上运行,并通过IIS提供。
如何防止Selenium由于此类错误而停止?
答案 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();