51Testing软件测试论坛

标题: 【求助】selenium python 如何实现在元素上滚动 [打印本页]

作者: skynothing    时间: 2016-4-7 08:41
标题: 【求助】selenium python 如何实现在元素上滚动
如图所示,想实现对Section 1里段落文字滚动的效果,在网上查了点,但还是没能实现效果
环境:Python 2.7 + Selenium2.50.0 + Chrome 49.0
URL: http://demoqa.com/accordion/

代码:
element = driver.find_element_by_css_selector('div#ui-accordion-accordion-panel-0 p')
driver.execute_script("arguments[0].scrollIntoView(true)", element)

执行结果: 页面滚动了,但是Section 1里段落文字并没有滚动

求助大神,该怎么解决?





作者: skynothing    时间: 2016-4-7 10:32
问题已解决
将其换成如下就可以实现:
driver.execute_script("return arguments[0].scrollTop=10000;", element)

scrollIntoView(true)是将其移动到页面上边界
scrollTop赋值则是进行滚动
作者: 若尘_51    时间: 2016-4-7 11:10
本帖最后由 若尘_51 于 2016-4-7 11:13 编辑

牛掰  请教下: 那个滚动条的位置是怎么定位到?
我一般都是这样处理的:
driver.find_element_by_id('tabs-1').click()
for i in range(5):
    driver.find_element_by_id('tabs-1').send_keys(Keys.DOWN)
作者: skynothing    时间: 2016-4-8 08:26
滚动条的位置?个人理解应该是出现滚动条的页面元素,例如本帖中Section 1中那段文字所在的div,定位到这个div就可以进行滚动了
希望没有误解你的意思




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2