@@ -27,7 +27,9 @@ public AlertOverride(IWebDriver driver)
27
27
public void ReplaceAlertMethod ( )
28
28
{
29
29
( ( IJavaScriptExecutor ) this . driver ) . ExecuteScript (
30
- "if (window.localStorage) { " +
30
+ "var canUseLocalStorage = false; " +
31
+ "try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
32
+ "if (canUseLocalStorage) { " +
31
33
" window.localStorage.setItem('__webdriverAlerts', JSON.stringify([])); " +
32
34
" window.alert = function(msg) { " +
33
35
" var alerts = JSON.parse(window.localStorage.getItem('__webdriverAlerts')); " +
@@ -69,7 +71,9 @@ public void ReplaceAlertMethod()
69
71
public string GetNextAlert ( )
70
72
{
71
73
string result = ( string ) ( ( IJavaScriptExecutor ) this . driver ) . ExecuteScript (
72
- "if (window.localStorage) { " +
74
+ "var canUseLocalStorage = false; " +
75
+ "try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
76
+ "if (canUseLocalStorage) { " +
73
77
" if (!('__webdriverAlerts' in window.localStorage)) { return null } " +
74
78
" var alerts = JSON.parse(window.localStorage.getItem('__webdriverAlerts')); " +
75
79
" if (! alerts) { return null } " +
@@ -101,7 +105,9 @@ public bool IsAlertPresent()
101
105
{
102
106
bool alertPresent = false ;
103
107
object alertResult = ( ( IJavaScriptExecutor ) this . driver ) . ExecuteScript (
104
- "if (window.localStorage) { " +
108
+ "var canUseLocalStorage = false; " +
109
+ "try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
110
+ "if (canUseLocalStorage) { " +
105
111
" if (!('__webdriverAlerts' in window.localStorage)) { return false } " +
106
112
" var alerts = JSON.parse(window.localStorage.getItem('__webdriverAlerts')); " +
107
113
" return alerts && alerts.length > 0; " +
@@ -124,7 +130,9 @@ public bool IsAlertPresent()
124
130
public string GetNextConfirmation ( )
125
131
{
126
132
string result = ( string ) ( ( IJavaScriptExecutor ) this . driver ) . ExecuteScript (
127
- "if (window.localStorage) { " +
133
+ "var canUseLocalStorage = false; " +
134
+ "try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
135
+ "if (canUseLocalStorage) { " +
128
136
" if (!('__webdriverConfirms' in window.localStorage)) { return null } " +
129
137
" var confirms = JSON.parse(window.localStorage.getItem('__webdriverConfirms')); " +
130
138
" if (! confirms) { return null } " +
@@ -154,7 +162,9 @@ public bool IsConfirmationPresent()
154
162
{
155
163
bool confirmPresent = false ;
156
164
object confirmResult = ( ( IJavaScriptExecutor ) this . driver ) . ExecuteScript (
157
- "if (window.localStorage) { " +
165
+ "var canUseLocalStorage = false; " +
166
+ "try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
167
+ "if (canUseLocalStorage) { " +
158
168
" if (!('__webdriverConfirms' in window.localStorage)) { return false } " +
159
169
" var confirms = JSON.parse(window.localStorage.getItem('__webdriverConfirms')); " +
160
170
" return confirms && confirms.length > 0; " +
0 commit comments