zoukankan      html  css  js  c++  java
  • selenium之滚动条操作方法

    1、滚动条操作方法

      selenium可以完成浏览器页面的大部分操作,实现不了页面滚动条的操作;此时需要使用selenium调用简单的 js 实现滚动条操作(js全称JavaScript,js是运行在浏览器的解释型编程语言)

      滚动条可以上下拉动:

        下拉:js = 'window.scrollTo(x,y)'  (x代表水平距离,y代表竖直距离)

        上拉:js = 'document.documentElement.scrollTop=n'  (n代表滚动条到浏览器顶部的距离)

      如下代码,实现一个网页持续下拉

    # 导入模块
    from selenium import webdriver
    import time
    # 创建浏览器,默认最大化
    driver = webdriver.Firefox()
    driver.maximize_window()
    # 访问地址
    driver.get('https://www.hao123.com/')
    
    # 单次滚动条下拉操作
    """
    格式:js = 'window.scrollTo(x,y)'
    driver.execute_script(js)
    其中js中的x代表水平距离,y代表竖直距离,第二句意思是执行js"""
    js = 'window.scrollTo(0,1000)'
    driver.execute_script(js)
    time.sleep(2)
    
    # 持续滚动条下拉操作
    for i in range(20):
        js_1 = 'window.scrollTo(0,%s)' % (i * 100)
        driver.execute_script(js_1)
        time.sleep(1)
    
    # 持续往回滚动滚动条(上拉)
    """格式:js = 'varq = document.document_Element.scrollTop=n'
    其中,n为滚动条距离顶部的位置"""
    for i in range(20):
        js_2 = 'var q = document.documentElement.scrollTop=%s' % (2000 - i*100)
        driver.execute_script(js_2)
        time.sleep(1)
    
    # 关闭浏览器
    driver.quit()
  • 相关阅读:
    Handler使用总结(转)
    LR连接oracle数据库-lr_db_connect
    selenium2(WebDriver)环境搭建
    使用selenium控制滚动条(非整屏body)
    selenium-打开IE浏览器遇到问题记录
    使用re-sign.jar对apk进行重签名
    Robotium-无源码测试
    genymotion不能联网
    SQL 常用脚本
    todolist
  • 原文地址:https://www.cnblogs.com/will-wu/p/13490287.html
Copyright © 2011-2022 走看看