безголовый осколок имеет неинтерактивный элемент при нажатии на выпадающее меню - PullRequest
0 голосов
/ 19 января 2020

Я пытаюсь нажать на ссылку, используя занозу с безголовым драйвером chrome. Это HTML Я нацеливаюсь:

<li class="dropdown open">
 <a id="Export" role="button" class="dropdown-toggle" aria-haspopup="true" aria-expanded="true" href="#">Export List <span class="caret"></span></a>
 <ul role="menu" class="dropdown-menu" aria-labelledby="Export">
   <li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Export to PDF</a></li>
   <li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Export to CSV</a></li>
 </ul>
</li>

При запуске не без кода этот код работает:

browser.find_by_id('Export').click()
browser.find_by_text('Export to PDF').click()

Однако при работе безголового браузера I получить следующую проблему:

ElementClickInterceptedException: Message: element click intercepted: 
Element <a id="Export" role="button" class="dropdown-toggle" aria-haspopup="true" aria-expanded="false" href="#">...</a> 

is not clickable at point (392, 382).

Other element would receive the click: <div class="modal hide-old fade in" tabindex="-1" style="display: block;">...</div>
  (Session info: headless chrome=79.0.3945.117)

попытка только browser.find_by_text('Export to PDF').click() с другой стороны,

приводит к этой ошибке:

ElementNotInteractableException: Message: element not interactable

неожиданно, есть элемент

<div class="modal fade" id="modal" tabindex="-1"></div>

, но он находится в совершенно другой части страницы, ниже иерархии <body>.

Откуда может быть разница в поведении между безголовым и не- без головы? (обратите внимание, что это одностраничное приложение, которое загружает HTML выше с JS).

...