Я думаю, вам просто нужна функция release()
в action_chains
, которая предназначена именно для этого. Строка для добавления в конец вашего текущего файла будет:
action_chains.release().perform()
Отредактируйте после обратной связи, что это не сработало: что делать, если вы сделаете release()
внутри существующего action_chains
, и просто добавьте pause()
после вашего click_and_hold(HandScale)
, чтобы щелкнуть на самом деле проводится и не сразу выпущен. Наконец, поскольку вы используете аргумент webelement в click_and_hold(HandScale)
, я бы попытался освободить этот элемент с помощью release(HandScale)
. Итак, ваш action_chains
может делать то, что вы хотите, если вы используете следующее:
action_chains.drag_and_drop_by_offset(HandScale, 30, 30).click_and_hold(HandScale).pause(5).release(HandScale).perform()
Если ТО не работает, в API WebDriver есть метод, называемый reset_actions()
, который, согласно документации, «очищает действия, которые уже сохранены локально и на удаленном конце». Я бы добавил это под ваш текущий action_chains
, но вы можете попробовать вставить его до perform()
в ваш текущий код. Строка для добавления будет выглядеть так:
action_chains.reset_actions().perform()
Если ничего из этого не работает для вас, вы можете попробовать
driver.execute_script("arguments[0].removeAttribute('cursor')", element")
Если вам нужно, я думаю, может помочь вам выяснить, что выполнять, если ничего из вышеперечисленного не работает.