Фон: проверка, является ли элемент кликабельным (я ожидаю, что он не кликабелен, я хочу это подтвердить) без ожидания.find (). click использует Capybara.max_wait_time и затем возвращает исключение:
Selenium::WebDriver::Error::UnknownError Exception: unknown error: Element <input type="text" class="form-control floatingInput" name="firstname" placeholder="Enter your first name" aria-label="First Name" value="Lynn"> is not clickable at point (415, 301). Other element would receive the click: <div class="Checkout__overlay__1cqyM"></div>
вместо немедленного возврата исключения.
Точная строка кода, которая ждет, когда она не должна, на мой взгляд.Это ждет max_wait_time (например, 20 секунд), если элемент не кликабелен (спрятан наложением, как и ожидалось).Ясно, что я поставил wait: 0
find(checkout.ship_first_name.path, wait: 0).click
Похоже, что для исключения есть другое время ожидания, или #click использует свое собственное время ожидания, однако #click не принимаетАргументы AFAIK.
Примечание 1
find (element, wait: 0) работает правильно сам по себе, так как я использую его в блоках if / else и нет ненужного ожидания, как указано,
Примечание 2
#visible?
в этом случае не работает, так как элемент видим, но за прозрачным серым наложением.Мне нужно убедиться, что он не активен.