Don't crash if we can't get an element's value for editing

Fixes #2150
This commit is contained in:
Florian Bruhin 2016-11-29 11:31:03 +01:00
parent 5f22affa36
commit 9f5f362533
3 changed files with 6 additions and 2 deletions

View File

@ -1484,6 +1484,10 @@ class CommandDispatcher:
return
text = elem.value()
if text is None:
message.error("Could not get text from the focused element.")
return
ed = editor.ExternalEditor(self._tabbed_browser)
ed.editing_finished.connect(functools.partial(
self.on_editing_finished, elem))

View File

@ -139,7 +139,7 @@ class AbstractWebElement(collections.abc.MutableMapping):
raise NotImplementedError
def value(self):
"""Get the value attribute for this element."""
"""Get the value attribute for this element, or None."""
raise NotImplementedError
def set_value(self, value):

View File

@ -91,7 +91,7 @@ class WebEngineElement(webelem.AbstractWebElement):
return self._js_dict['outer_xml']
def value(self):
return self._js_dict['value']
return self._js_dict.get('value', None)
def set_value(self, value):
js_code = javascript.assemble('webelem', 'set_value', self._id, value)