我在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。
4条答案
按热度按时间z8dt9xmd1#
也许,如果它与动作链有关,你可以这样做:
希望能成功!
sycxhyv72#
我必须点击主体才能让Keys.PAGE_DOWN工作,但不需要使用动作链:
mwyxok5s3#
mm5n2pyu4#
我这样做只是为了滚动到底部。