首页 > 解决方案 > Python Selenium Webdriver ActionChains 似乎无法以任何方式工作

问题描述

这是我的代码。我尝试了多种方法,但似乎没有任何效果。我想要的是使用键盘输入向后导航。ActionChains 无法激活快捷方式 LEFT_ALT + ARROW_LEFT 以转到上一页。

back = ActionChains(dv)
back.key_down(Keys.LEFT_ALT).send_keys(Keys.ARROW_LEFT).key_up(Keys.LEFT_ALT)
back.perform()

我也尝试单独使用 send_keys 没有成功。

send_keys(Keys.LEFT_ALT, Keys.ARROW_LEFT)

标签: pythonseleniumselenium-webdriver

解决方案


当您使用 Action 首先使用移动到元素然后执行操作时,第二次暂停以确保焦点正确地放在元素上,希望它对您有用。

your_element = driver.driver.find_element_by_id('your_element_id')

back = ActionChains(dv)
back.move_to_element(your_element).pause(1).key_down(Keys.LEFT_ALT).send_keys(Keys.ARROW_LEFT).key_up(Keys.LEFT_ALT)
back.perform()

# If you use Actionchain for click pass the element , below lines are with a other way.

super_ship = driver.find_element_by_link_text('Super Ship')
ActionChains(driver).move_to_element(super_ship).pause(1).click(super_ship).perform()

推荐阅读