zoukankan      html  css  js  c++  java
  • Selenium3+python自动化009- js之屏幕滑动和日历操作

    一、js的滑屏

    1)以下脚本实现js滑屏
    scroll="document.documentElement.scrollTop=800"#垂直滚动 px
    scroll = "document.documentElement.scrollLeft=1000"#水平滚动
    scroll="window.scrollTo(100,500)"#滚动到指定坐标
    scroll="window.scrollBy(0,100)"#滑动到相对坐标
    scroll="window.scrollTo(0,document.body.scrollHeight)"#获取body的高度,滑到底部
    document.body.scrollWidth 获取body宽度

    driver.execute_script(scroll)


    2)滑动到指定元素
    scroll="document.getElementById('xxxx').scrollIntoView(false)"
    driver.execute_script(scroll)

     1 #encoding=utf-8
     2 from selenium import webdriver
     3 from time import sleep
     4 import os
     5 
     6 driver=webdriver.Chrome()
     7 url='file:///' + os.path.abspath(os.path.dirname(os.getcwd()))+'/html/注册A.html'
     8 driver.maximize_window()
     9 driver.get(url)
    10 
    11 # 1)以下脚本实现js滑屏
    12 scroll="document.documentElement.scrollTop=800"#垂直滚动 px
    13 # scroll = "document.documentElement.scrollLeft=1000"#水平滚动
    14 # scroll="window.scrollTo(100,500)"#滚动到指定坐标
    15 # scroll="window.scrollBy(0,100)"#滑动到相对坐标
    16 # scroll="window.scrollTo(0,document.body.scrollHeight)"#获取body的高度,滑到底部
    17 # document.body.scrollWidth 获取body宽度
    18 
    19 # driver.execute_script() 专门用于执行JS脚本的
    20 # driver.execute_script(scroll)
    21 sleep(2)
    22 driver.execute_script(scroll)
    23 
    24 # 2)滑动到指定元素
    25 # scrollIntoView(false) 表示元素滚动到屏幕的底部
    26 # scrollIntoView(true) 表示元素滚动到屏幕的中间
    27 # scroll="document.getElementById('selectA').scrollIntoView(true)"
    28 # driver.execute_script(scroll)
    View Code

    二、JS的日历操作

    修改元素属性
    js="document.getElementById('train_date').removeAttribute('readonly');"

    #encoding=utf-8
    from selenium import webdriver
    from time import sleep
    import os
    
    driver=webdriver.Chrome()
    
    driver.maximize_window()
    driver.get('https://www.12306.cn/index/')
    js="document.getElementById('train_date').removeAttribute('readonly');"
    # 移除readonly属性
    driver.execute_script(js)
    sleep(2)
    # 清空默认日期
    driver.find_element_by_id('train_date').clear()
    driver.find_element_by_id('train_date').send_keys('2019-02-28')
    View Code
  • 相关阅读:
    C#String地址、拼接性能学习
    MySql触发器实现数据同步学习
    京东手机销售价格抓取
    判断是否是数字
    Ftp上传下载
    外部表不是预期的格式。
    C#获取带汉字的字符串长度
    C# Excel导入Access
    C# string.Format()格式
    规则“Microsoft Visual Studio 2008 的早期版本”失败。此计算机上安装了 Microsoft Visual Studio 2008 的早期版本。请在安装 SQL Server 2008 前将 Microsoft Visual Studio 2008 升级到 SP1。
  • 原文地址:https://www.cnblogs.com/liunaixu/p/11089594.html
Copyright © 2011-2022 走看看