Index: chrome/test/chromedriver/client/chromedriver.py |
diff --git a/chrome/test/chromedriver/client/chromedriver.py b/chrome/test/chromedriver/client/chromedriver.py |
index f211bb4589a95da7dca7a453928cb6abe6b007f2..6584e0993695fac48e4f904bf06675644d0f34ce 100644 |
--- a/chrome/test/chromedriver/client/chromedriver.py |
+++ b/chrome/test/chromedriver/client/chromedriver.py |
@@ -112,6 +112,7 @@ class ChromeDriver(object): |
download_dir=None, network_connection=None, |
send_w3c_capability=None, send_w3c_request=None, |
page_load_strategy=None): |
+ |
samuong
2016/08/11 18:13:20
nit: no need for a new blank line
roisinmcl
2016/08/13 01:47:26
Done.
|
self._executor = command_executor.CommandExecutor(server_url) |
options = {} |
@@ -216,7 +217,10 @@ class ChromeDriver(object): |
converted[key] = self._WrapValue(val) |
return converted |
elif isinstance(value, WebElement): |
- return {'ELEMENT': value._id} |
+ if (self.w3c_compliant): |
+ return {'element-6066-11e4-a52e-4f735466cecf': value._id} |
+ else: |
+ return {'ELEMENT': value._id} |
samuong
2016/08/11 18:13:20
let's create constants for the element keys, since
roisinmcl
2016/08/13 01:47:26
Done.
|
elif isinstance(value, list): |
return list(self._WrapValue(item) for item in value) |
else: |
@@ -225,7 +229,12 @@ class ChromeDriver(object): |
def _UnwrapValue(self, value): |
"""Unwrap value from chromedriver side for client side.""" |
if isinstance(value, dict): |
- if (len(value) == 1 and 'ELEMENT' in value |
+ if (self.w3c_compliant and len(value) == 1 |
+ and 'element-6066-11e4-a52e-4f735466cecf' in value |
+ and isinstance( |
+ value['element-6066-11e4-a52e-4f735466cecf'], basestring)): |
samuong
2016/08/11 18:13:20
this is a big conjunction, let's do the len(value)
roisinmcl
2016/08/13 01:47:26
Done.
|
+ return WebElement(self, value['element-6066-11e4-a52e-4f735466cecf']) |
+ elif (len(value) == 1 and 'ELEMENT' in value |
and isinstance(value['ELEMENT'], basestring)): |
return WebElement(self, value['ELEMENT']) |
else: |