zoukankan      html  css  js  c++  java
  • python selenium webdriver处理浏览器滚动条

    用键盘右下角的UP,DOWN按键来处理页面滚动条 这种方法很灵活用起来很方便!!!!

    from selenium import webdriver
    import time
    from selenium.webdriver.common.keys import Keys
    #访问百度
    driver=webdriver.Chrome()
    driver.get("http://www.baidu.com")
    #搜索
    driver.find_element_by_id("kw").send_keys("selenium")
    driver.find_element_by_id("su").click()
    time.sleep(3)
    #通过按向下键将页面滚动条拖到底部
    driver.find_element_by_xpath("//*[@id='page']/a[10]").send_keys(Keys.DOWN)
    print '将滚动条拉到底端'
    time.sleep(2)
    driver.find_element_by_xpath("//*[@id='s_tab']/a[9]").send_keys(Keys.UP)
    print '将滚动条拉到上端'
    time.sleep(2)
    driver.find_element_by_xpath("//*[@id='con-ar']/div[3]/a").send_keys(Keys.DOWN)
    print '将滚动条拉到中间'

    还可以调过JS脚本来处理滚动条,但是这一种方法我试了很多次都没有成功,也不报错,就是没反应,不知道是为什么!

    #coding=utf-8  
    from selenium import webdriver  
    import time  
    #访问百度  
    driver=webdriver.Firefox()  
    driver.get("http://www.baidu.com")  
    #搜索  
    driver.find_element_by_id("kw").send_keys("selenium")  
    driver.find_element_by_id("su").click()  
    time.sleep(3)  
    #将页面滚动条拖到底部  
    js="var q=document.documentElement.scrollTop=100000"  
    driver.execute_script(js)  
    time.sleep(3)  
    #将滚动条移动到页面的顶部  
    js="var q=document.documentElement.scrollTop=0"  
    driver.execute_script(js)  
    time.sleep(3)  
    #将页面滚动条移动到页面任意位置,改变等于号后的数值即可  
    js="var q=document.documentElement.scrollTop=50"  
    driver.execute_script(js)  
    
    '''' 若要对页面中的提示警告窗口中的滚动条进行操作,要先定位到该内嵌窗口,在进行滚动条操作 js="var q=document.getElementById('id').scrollTop=100000" driver.execute_script(js) time.sleep(3) '''
  • 相关阅读:
    机器学习中常见的优化算法
    linux端安装Anaconda,方便远端访问jupyter
    核心③自动分号插入
    setTimeout 和 setInterval
    核心②undefined 和 null
    类型④类型转换
    核心①为什么不要使用 eval
    类型③instanceof 操作符
    类型①相等与比较
    类型②typeof 操作符
  • 原文地址:https://www.cnblogs.com/111testing/p/6158824.html
Copyright © 2011-2022 走看看