Йоу) Продолжение вчерашней истории...
> Ребят, кто знает, какое официальное объяснение того, что в селениум вебдрайвере клик не проходит по элементу который перекрыт другим (ElementClickInterceptedException : element click intercepted: Element ... is not clickable at point (...). Other element would receive the click: ...)
> а clear, sendKeys проходят... Какая в этом задумка?
напомню, что с клиер/сендкис - разобрались - если они фокусабл, то пользователь и под оверлеем сможет до них дотабать, и поэтому реализация вебдрайвер протокола должна позволять ввод в поля.
Теперь же а заметил что действия через Actions, вот точно проверил на double-click – тоже проходят под оверлеем. Вопрос – такой же – почему? :)
В общем... уже разобрался кажется... Пишу тут, вдруг кому будет интересно... (Мне это полезно ибо у некоторых клиентов полно оверлеев, под которыми юзер должен ждать, и поэтому нужно четко понимать на какие команды вебдрайвера надо самостоятельно вешать проверки на interactability)
Цитаты из доки по протоколу (
https://www.w3.org/TR/webdriver/):
> The
Actions API provides
a low-level interface for providing virtualised device input to the web browser.
> The
element interaction commands provide a high-level instruction set for manipulating form controls.
Unlike Actions, they will
implicitly scroll elements into view and
check that it is an interactable element.
И того, вебдрайвер проверяет на интеректабилити только клик, клиер и сендкис – первый на поинтер интеректабилити второй и третий - на кейбоард-интерактабилити (что сводиться примерно к проверке на фокусабилити). Actions же, по которому мы реализуем обычно свои даблклики и Ко – этих проверок не имеет, поэтому нужно проверять самому, и судя по всему не забывать о скрол инту вью.
Такие дела;)