- 校验访问网页是否正常打开,比较简单的方法就是通过校验状态码是否为 200 ,所以特意总结了常用状态码:
code = {
100 :'Continue',
101 : 'Switching Protocols',
102:'Processing',
118 :'Connection timed out',
200 : 'OK',
201 : 'Created',
202 : 'Accepted',
203 : 'Non-Authoritative',
204 : 'No Content',
205 : 'Reset Content',
206 : 'Partial Content',
207 : 'Multi-Status',
208 : 'Already Reported',
210 : 'Content Different',
226 : 'IM Used',
300 : 'Multiple Choices',
301 : 'Moved Permanently',
302 : 'Found',
303 : 'See Other',
304 : 'Not Modified',
305 : 'Use Proxy',
306 : 'Reserved',
307 : 'Temporary Redirect',
308 : 'Permanent Redirect',
310 : 'Too many Redirect',
400 : 'Bad Request',
401 : 'Unauthorized',
402 : 'Payment Required',
403 : 'Forbidden',
404 : 'Not Found',
405 : 'Method Not Allowed',
406 : 'Not Acceptable',
407 : 'Proxy Authentication Required',
408 : 'Request Time-out',
409 : 'Conflict',
410 : 'Gone',
411 : 'Length Required',
412 : 'Precondition Failed',
413 : 'Request Entity Too Large',
414 : 'Request-URI Too Long',
415 : 'Unsupported Media Type',
416 : 'Requested range unsatisfiable',
417 : 'Expectation failed',
418 : 'I'm a teapot',
422 : 'Unprocessable entity',
423 : 'Locked',
424 : 'Method failure',
425 : 'Unordered Collection',
426 : 'Upgrade Required',
428 : 'Precondition Required',
429 : 'Too Many Requests',
431 : 'Request Header Fields Too Large',
449 : 'Retry With',
450 : 'Blocked by Windows Parental Controls',
500 : 'Internal Server Error',
501 : 'Not Implemented',
502 : 'Bad Gateway or Proxy Error',
503 : 'Service Unavailable',
504 : 'Gateway Time-out',
505 : 'HTTP Version not supported',
507 : 'Insufficient storage',
508 : 'Loop Detected',
509 : 'Bandwidth Limit Exceeded',
510 : 'Not Extended',
511 : 'Network Authentication Required',
}
代码中:
@classmethod
def get_status_code(cls, modules_path=None):
u'''获取到当前页面链接,校验返回状态码:若成功或者重定向,返回True,否则False'''
now_url = cls.driver.current_url
r = requests.get(now_url+modules_path).status_code
code = { 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 422, 423, 424, 425, 426, 428, 429, 431, 449, 450, 500, 501, 502, 503, 504, 505, 507, 508, 509, 510, 511 }
for f in code:
if f != r:
return True
else:
return False
@classmethod
def Processing_page_state(cls, msg):
u''' 处理页面返回状态码,若状态码=True,则通过,否则抛出异常
:param msg:
:return: '''
if Operation.get_status_code(modules_path=None):
pass
else:
raise customError(msg)