51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1820|回复: 3
打印 上一主题 下一主题

【求助】selenium python 如何实现在元素上滚动

[复制链接]
  • TA的每日心情
    慵懒
    2019-8-13 14:26
  • 签到天数: 75 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2016-4-7 08:41:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    如图所示,想实现对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里段落文字并没有滚动

    求助大神,该怎么解决?




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-8-13 14:26
  • 签到天数: 75 天

    连续签到: 1 天

    [LV.6]测试旅长

    2#
     楼主| 发表于 2016-4-7 10:32:11 | 只看该作者
    问题已解决
    将其换成如下就可以实现:
    driver.execute_script("return arguments[0].scrollTop=10000;", element)

    scrollIntoView(true)是将其移动到页面上边界
    scrollTop赋值则是进行滚动

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    3#
    发表于 2016-4-7 11:10:12 | 只看该作者
    本帖最后由 若尘_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)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-8-13 14:26
  • 签到天数: 75 天

    连续签到: 1 天

    [LV.6]测试旅长

    4#
     楼主| 发表于 2016-4-8 08:26:18 | 只看该作者
    滚动条的位置?个人理解应该是出现滚动条的页面元素,例如本帖中Section 1中那段文字所在的div,定位到这个div就可以进行滚动了
    希望没有误解你的意思
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-8 16:43 , Processed in 0.067665 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表