Module: Selenium::EmulatedFeatures::ResponseCode

Included in:
WebDriver::Driver
Defined in:
lib/selenium/emulated_features/response_code.rb

Instance Method Summary collapse

Instance Method Details

#response_codeObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/selenium/emulated_features/response_code.rb', line 4

def response_code
  dom_str = execute_script "    if(document.SEF && document.SEF.request) {\n      return document.SEF.request.status;\n    }\n\n    var baseURI = document.baseURI;\n\n    /* Firefox */\n    if(/about:neterror/.test(baseURI)) {\n      return null;\n    }\n\n    /* Safari */\n    if(/Safari.app/.test(baseURI)) {\n      return null;\n    }\n\n    /* Chrome */\n    if(/chromewebdata/.test(baseURI)) {\n      return null;\n    }\n\n    document.SEF = {}\n    document.SEF.request = new XMLHttpRequest();\n\n    document.SEF.request.open(\"GET\", document.location, false);\n    document.SEF.request.send(null);\n    return document.SEF.request.status;\n  js\n\n  return dom_str if dom_str\n\n  if Selenium::EmulatedFeatures.raise_exceptions\n    raise Selenium::EmulatedFeatures::Error\n  else\n    nil\n  end\n\n# PhantomJS\nrescue Selenium::WebDriver::Error::UnknownError\n  if Selenium::EmulatedFeatures.raise_exceptions\n    raise Selenium::EmulatedFeatures::Error\n  else\n    nil\n  end\nend\n"