zoukankan      html  css  js  c++  java
  • selenium之操作浏览器滚动条

    前言

    有些页面元素一开始并不可见,需要滚动条下拉后才能加载出来,可以使用浏览器的滚动条下拉后进行调试

    方法一

    如何操作浏览器滚动条呢?下面这个百度的例子,让你一目了然。

    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    import time
    driver=webdriver.Chrome()
    driver.get("http://www.baidu.com")
    driver.implicitly_wait(5)
    driver.maximize_window()
    driver.find_element_by_id("kw").send_keys("特朗普")
    driver.find_element_by_id("su").click()
    time.sleep(2)
    #,设置为10000表示将滚动条拖动到底部,也可以设置其他数值,根据自己想要定位元素设置
    #js="var q=document.documentElement.scrollTop=10000"       #写法一
    #js="document.documentElement.scrollTop=10000"             #写法二
    js="var action=document.documentElement.scrollTop=100000"  #写法三
    driver.execute_script(js)  #执行js脚本
    time.sleep(3)
    #设置为0表示将滚动条拖动到顶部
    js1="var action=document.documentElement.scrollTop=0"
    driver.execute_script(js1)  #执行js脚本
    time.sleep(3)
    driver.quit()

    方法二

    scrollTo(x, y)

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

    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    import time
    driver=webdriver.Chrome()
    driver.get("http://www.baidu.com")
    driver.implicitly_wait(5)
    driver.maximize_window()
    driver.find_element_by_id("kw").send_keys("特朗普")
    driver.find_element_by_id("su").click()
    time.sleep(3)
    #第一个参数 x 是横向距离,第二个参数 y 是纵向距离
    js="window.scrollBy(0, 10000)"
    driver.execute_script(js)  #执行js脚本
    time.sleep(3)
    driver.quit()

    这种方法可以对横向滚动条进行控制,把y设置为0,x设置为想要的距离就可以实现

    细心的同学已经发现了, 我上面写的scrollTo()、但是代码中用的是scrollBy()。

    那就再解释一下,知识点:scrollTo()是绝对滚动,scrollBy()是相对滚动,比如:

    scrollBy(0,10000),会在当前位置上,移动到(0,y+10000)

    scrollTo(0,500),会在原始的位置上(0,),移动到(0,500)的位置上

    scrollTo(0,0),会回到原始的位置上(0,0)

  • 相关阅读:
    BZOJ 1101 莫比乌斯函数+分块
    BZOJ 2045 容斥原理
    BZOJ 4636 (动态开节点)线段树
    BZOJ 2005 容斥原理
    BZOJ 2190 欧拉函数
    BZOJ 2818 欧拉函数
    BZOJ 3123 主席树 启发式合并
    812. Largest Triangle Area
    805. Split Array With Same Average
    794. Valid Tic-Tac-Toe State
  • 原文地址:https://www.cnblogs.com/king2/p/13657687.html
Copyright © 2011-2022 走看看