Сейчас я работаю над сценарием, который автоматически завершает игру маленькая алхимия 2 .
По ходу игры библиотека уже обнаруженных Предметов растет, и в конечном итоге вам нужно прокрутить, чтобы добраться до некоторых из более низких предметов.
Селен выдает исключение MoveTargetOutOfBoundsException
, когда Предмет, который я пытаюсь достать, не отображается на экране.
Я попытался исправить это, поймав исключение и затем используя move_to_element
, чтобы доставить Предмет в Селен. Но когда я попробовал это, ничего не случилось. Есть идеи?
try:
ActionChains(driver).drag_and_drop(elempic2, workspace).perform()
except MoveTargetOutOfBoundsException:
print ("Need to Scroll because if element 2")
ActionChains(driver).move_to_element(elempic2).perform()
ActionChains(driver).drag_and_drop(elempic2, workspace).perform()
print ("Element 2 dragged: " + str(elemname2.text))
Ошибка, которая выдается :
Traceback (most recent call last):
File "littlealch.py", line 60, in findelements
ActionChains(driver).drag_and_drop(elempic2, workspace).perform()
File "/home/joco/.local/lib/python3.6/site-packages/selenium/webdriver/common/action_chains.py", line 80, in perform
self.w3c_actions.perform()
File "/home/joco/.local/lib/python3.6/site-packages/selenium/webdriver/common/actions/action_builder.py", line 76, in perform
self.driver.execute(Command.W3C_ACTIONS, enc)
File "/home/joco/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/joco/.local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.MoveTargetOutOfBoundsException: Message: (1624, 957.5) is out of bounds of viewport width (1920) and height (942)
Если вы хотите попробовать это сами здесь - это репо.
Спасибо за вашу помощь:)