#robotframework
#robotframework
Вопрос:
мой код:
Wait Until Page Contains Element //span[contains(text(),'Transactions ')] timeout=60s
sleep 3
Mouse Over //span[contains(text(),'Transactions ')]
click Element //span[contains(text(),'Transactions ')]
Вывод:
ElementClickInterceptedException: Message: element click intercepted:
Element <span style="font-size:15px">...</span> is not clickable at point
(73, 411). Other element would receive the click: <span style="font-
size:15px">...</span>
(Session info: chrome=85.0.4183.121)
Исходный код:
<li class="sub-menu dcjq-parent-li">
<a href="#" class="hvr-bounce-to-right-sidebar-parent dcjq-
parent">
<span class="glyphicon glyphicon-shopping-cart" style="font-
size:20px"></span>
<span style="font-size:15px">Procurement</span>
<span style="padding:0 0 0 91px;">
<i class="glyphicon glyphicon-menu-right">
</i>
</span>
<span class="fa dcjq-icon"></span>
</a>
<li class="sub-menu dcjq-parent-li">
<a href="#" class="hvr-bounce-to-right-sidebar-parent dcjq-
parent">
<span class="glyphicon glyphicon-briefcase" style="font-
size:20px"></span>
<span style="font-size:15px">Transactions </span>
<span style="padding:0 0 0 85px;">
<i class="glyphicon glyphicon-menu-right">
</i>
</span>
<span class="fa dcjq-icon"></span></a>
Здесь я пытаюсь щелкнуть по тексту тега «span», «Транзакция», но элемент нажимается на текст «Закупки».
Комментарии:
1. По моему опыту, получение этой ошибки действительно означает, что в отображаемом состоянии DOM есть элемент, перекрывающий целевой. Попробуйте настроить таргетинг на родственный или родительский
<a>
или<li>
и посмотреть, сработает ли это.2. Нет, это не работает, я также использовал родительский тег, но все равно он не работает, проблема связана с ключевым словом «Наведение курсора мыши», например: если я использую курсор мыши при транзакциях, курсор указывает на «Закупки», я проверил тот же случай с другимитексты ссылок также находятся в строке меню.
Ответ №1:
Я получил решение, не уверен, правильно ли оно.
Код:
Wait Until Page Contains Element //div/ul/li[7]/a[@href='#'] timeout=10s
Wait Until Element Is Visible //div/ul/li[7]/a[@href='#'] timeout=10s
Set Focus To Element
//span[contains(text(),'Transactions')]/parent::a[@href='#']
Simulate Event //div/ul/li[7]/a/span[contains(text(),'Transactions ')] click