Skip to content

Commit 2c1f586

Browse files
committed
Fix double_click() for older versions of ChromeDriver
1 parent 64cbbfb commit 2c1f586

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,16 @@ def double_click(self, selector, by=By.CSS_SELECTOR, timeout=None):
229229
self.driver, selector, by, timeout=timeout)
230230
actions = ActionChains(self.driver)
231231
actions.double_click(element).perform()
232+
except Exception:
233+
css_selector = self.convert_to_css_selector(selector, by=by)
234+
css_selector = re.escape(css_selector)
235+
css_selector = self.__escape_quotes_if_needed(css_selector)
236+
double_click_script = (
237+
"""var targetElement1 = document.querySelector('%s');
238+
var clickEvent1 = document.createEvent('MouseEvents');
239+
clickEvent1.initEvent('dblclick', true, true);
240+
targetElement1.dispatchEvent(clickEvent1);""" % css_selector)
241+
self.execute_script(double_click_script)
232242
if settings.WAIT_FOR_RSC_ON_CLICKS:
233243
self.wait_for_ready_state_complete()
234244
if self.demo_mode:

0 commit comments

Comments
 (0)