При выполнении действия мыши во второй раз я получаю MoveTargetOutOfBounds Exeption - PullRequest
0 голосов
/ 06 августа 2020

Я использую ActionChains из selenium webdriver, чтобы нажимать на определенное место на холсте. Первый раз он работает, но во-вторых, он выдает исключение:

actions = ActionChains(driver)
actions.move_by_offset(650,500).click().perform()
time.sleep(2)
actions.move_by_offset(700,500).click().perform()

, даже если я изменяю значения во втором move_by_offset на (0,0), он выдает ошибку:

Traceback (most recent call last):
File "/home/*****1.py", line 55, in <module>
actions.move_by_offset(700,500).click().perform()
File "/home/kuba/*****/action_chains.py", line 80, in perform
self.w3c_actions.perform()
File "/home/kuba/******/common/actions/action_builder.py", line 76, in perform
self.driver.execute(Command.W3C_ACTIONS, enc)
File "/home/*****python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/*******/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.MoveTargetOutOfBoundsException: Message: move target out of bounds
(Session info: chrome=84.0.4147.89)

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: : место, на которое я нажимаю, это холст - я даже не могу получить на нем меню при нажатии правой кнопки мыши. Имеет ли проблема какое-то отношение к этому холсту, который получает фокус от webdriver?

1 Ответ

0 голосов
/ 06 августа 2020

Здесь есть 2 проблемы: вам нужно сохранить действия с помощью

actions.reset_actions()

мышь перемещается от последней точки, поэтому при указании значений (700,500) она перемещается за пределы экрана = исключение. рабочий код:

actions = ActionChains(driver)
actions.move_by_offset(650,500).click().perform()
actions.reset_actions()
actions.move_by_offset(80,0).click().perform()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...