前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >selenium的一些js操作

selenium的一些js操作

作者头像
周小董
发布2019-03-25 10:49:21
1.7K0
发布2019-03-25 10:49:21
举报
文章被收录于专栏:python前行者python前行者

控制滚动条高度

1.滚动条回到顶部:

代码语言:javascript
复制
js="var q=document.getElementById('id').scrollTop=0"
driver.execute_script(js) 

2.滚动条拉到底部

代码语言:javascript
复制
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)

3.这里可以修改scrollTop 的值,来定位右侧滚动条的位置,0是最上面,10000是最底部。

横向滚动条

1.有时候浏览器页面需要左右滚动(一般屏幕最大化后,左右滚动的情况已经很少见了)。

2.通过左边控制横向和纵向滚动条scrollTo(x, y)

代码语言:javascript
复制
js = "window.scrollTo(100,400);"
driver.execute_script(js)

3.第一个参数x是横向距离,第二个参数y是纵向距离

1.以上方法在Firefox上是可以的,但是用Chrome浏览器,发现不管用。 谷歌浏览器就是这么任性,不听话,于是用以下方法解决谷歌浏览器滚动条的问题。

2.Chrome浏览器解决办法:

代码语言:javascript
复制
js = "var q=document.body.scrollTop=0"
driver.execute_script(js)

元素聚焦

1.虽然用上面的方法可以解决拖动滚动条的位置问题,但是有时候无法确定我需要操作的元素

在什么位置,有可能每次打开的页面不一样,元素所在的位置也不一样,怎么办呢?

2.这个时候我们可以先让页面直接跳到元素出现的位置,然后就可以操作了。同样需要借助JS去实现。 3.元素聚焦:

代码语言:javascript
复制
target = driver.find_element_by_xxxx()
driver.execute_script("arguments[0].scrollIntoView();", target)

将页面的滚动条拖到最下方,然后再拖回顶部

代码语言:javascript
复制
    driver.execute_script("""
                (function () {
                    var y = 0;
                    var step = 100;
                    window.scroll(0, 0);

                    function f() {
                        if (y < document.body.scrollHeight) {
                            y += step;
                            window.scroll(0, y);
                            setTimeout(f, 100);
                        } else {
                            window.scroll(0, 0);
                            document.title += "scroll-done";
                        }
                    }

                    setTimeout(f, 1000);
                })();
            """)
    for i in range(30):
        if "scroll-done" in driver.title:
            break
        time.sleep(10)

参考:https://blog.csdn.net/hbhcxs/article/details/73079494

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年01月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 控制滚动条高度
  • 横向滚动条
  • 元素聚焦
  • 将页面的滚动条拖到最下方,然后再拖回顶部
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档