#python #automation #robotframework #mouse #pyautogui
Вопрос:
Я хочу сначала выбрать текстовый сигнал тревоги, и мне нужно получить координаты этого текстового сигнала тревоги
Как только координата будет установлена, я хочу переместить мышь вправо
Я пытаюсь следующими способами, но я не нахожу точных координат в текстовом сигнале тревоги
Нажмите На Кнопку Управление
[Arguments] ${element}
Wait Until Keyword Succeeds 15x 5 Click Element //*[text()='${element}']
Selenium2Library.mouse over //*[text()='${element}']
${width} ${height} = Get Element Size //*[text()='${element}']
${x}= Get Horizontal Position //*[text()='${element}']
${y}= Get Vertical Position //*[text()='${element}']
click element at coordinates //*[text()='${element}'] ${x} ${y}
${width} ${height} = Selenium2Library.Get Window Size
Пожалуйста, помогите мне решить эту проблему
Ответ №1:
Вы можете получить координаты элемента с помощью javascript:
${Top} Execute Javascript var element=document.querySelector("yourElementCSSSelector"); var rect = element.getBoundingClientRect(); return rect.top
${Left} Execute Javascript var element=document.querySelector("yourElementCSSSelector"); var rect = element.getBoundingClientRect(); return rect.left
Это даст вам левые верхние координаты элемента
Комментарии:
1. Выполнение JavaScript: элемент var=документ. querySelector(«//*[text()=’titanDiameterNgStatistics’]»); var rect = element.getBoundingClientRect(); возврат rect.top 19:26:56.270 ОШИБКА InvalidElementStateException: Сообщение: недопустимое состояние элемента: Не удалось выполнить «querySelector» в «Документе»: «//*[text ()=’titanDiameterNgStatistics’] » недопустимый селектор. (Информация о сеансе: chrome=90.0.4430.212) (Информация о драйвере: chromedriver=72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38),платформа=Windows NT 10.0.18363 x86_64) У меня возникает эта проблема
2. используйте css вместо xpath