From 64c31282f5e8c8b923af902c22c6718f4d793437 Mon Sep 17 00:00:00 2001 From: Thomas Walpole Date: Sun, 28 Jan 2024 18:39:59 -0800 Subject: [PATCH] Handle js error during hint gathering in selenium driver --- lib/capybara/selenium/extensions/find.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/capybara/selenium/extensions/find.rb b/lib/capybara/selenium/extensions/find.rb index 51b38e4ac6..278889b74f 100644 --- a/lib/capybara/selenium/extensions/find.rb +++ b/lib/capybara/selenium/extensions/find.rb @@ -19,7 +19,12 @@ def find_by(format, selector, uses_visibility:, texts:, styles:, position:) if (els.size > 2) && !ENV['DISABLE_CAPYBARA_SELENIUM_OPTIMIZATIONS'] els = filter_by_text(els, texts) unless texts.empty? - hints = gather_hints(els, uses_visibility: uses_visibility, styles: styles, position: position) + hints = begin + gather_hints(els, uses_visibility: uses_visibility, styles: styles, position: position) + rescue Selenium::WebDriver::Error::JavascriptError + # Unclear how this can happen but issue #2729 indicates it can + [] + end end els.map.with_index { |el, idx| build_node(el, hints[idx] || {}) } end