我在 Ubuntu 16.04 x64 上的 python 3.5 中通过 Selenium 的 ActionChains 使用 PageDown 键使用函数向下滚动时遇到问题。
我想要的是我的程序通过 PageDown 向下滚动两次,所以它最后到达底部,所以我可以让选择的元素始终可见。尝试使用 Keys.END 创建另一个功能,但它没有用,所以我认为它与 ActionChains 未关闭或其他原因有关。
该函数如下所示:
from selenium.webdriver.common.action_chains import ActionChains
…
def scrollDown(self):
body = browser.find_element_by_xpath('/html/body')
body.click()
ActionChains(browser).send_keys(Keys.PAGE_DOWN).perform()
我在另一个文件中使用它,如下所示:
mod.scrollDown()
我第一次使用它时,它确实向下滚动,就像按下 PageDown 键一样,而另一次没有任何反应。不管我在哪里调用它,第二次(或第三次……)它不执行。尝试手动执行并按下 PageDown 按钮两次,按预期工作。控制台不会返回任何错误,IDE 也不会。
原文由 Matej 发布,翻译遵循 CC BY-SA 4.0 许可协议
也许,如果它与动作链有关,你可以这样做:
希望它有效!