#!/usr/bin/env python
# -*- coding:utf-8 -*-
'''
Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)
'''
from selenium import webdriver import time,os # about:addons 火狐浏览器安装组件,访问的地址 # <input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
#id
keys="selenium自动化"
delay=3
# url="https://www.cnblogs.com/nicetime"
# url="https://www.12306.cn/index/"
url="file:///D:/ideaSpace/autoProject/python_autotest/nicetime/webdriver/js12.html"
driver=webdriver.Firefox() driver.get(url) #回到底部
js2="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js2) js22="window.scrollTo(0,document.body.scrollHeight)"
driver.execute_script(js22) time.sleep(delay) #回到顶部
js1="var q=document.documentElement.scrollTop=0" # chrome浏览器
# js11="var q=document.body.scrollTop=0"
driver.execute_script(js1) js12="window.scrollTo(0,0)"
driver.execute_script(js12) # #左右滚动
js3="window.scrollTo(100,400)"
driver.execute_script(js3) # #聚焦元素 find_element_by系列
target=driver.find_element_by_id("blog_nav_sitehome")
driver.execute_script("arguments[0].scrollIntoView();",target) # 兼容浏览器
def scroll_Top():
if driver.name=="chrome":
js="var q=document.body.scrollTop=0"
else:
js="var q=document.documentElement.scrollTop=0"
return driver.execute_script(js) def scroll_down():
if driver.name=="chrome":
js="var q=document.body.scrollTop=10000"
else:
js="var q=document.documentElement.scrollTop=10000"
return driver.execute_script(js) #滚动高度 滚动宽度
# document.body.scrollHeight
# document.body.scrollWidth #日历处理-输入指定的日期
# <input type="text" class="input" value="2018-07-21" id="train_date" readonly="">
#去掉只读属性
js1='document.getElementById("train_date").removeAttribute("readonly");'
driver.execute_script(js1) time.sleep(delay) #输入日期
date="2018-12-04"
js2='document.getElementById("train_date").value="%s"'%date
driver.execute_script(js2) time.sleep(delay) #清空文本框后输入值
driver.find_element_by_id("train_date").clear()
driver.find_element_by_id("train_date").send_keys(date) time.sleep(delay) #内嵌div
# 纵向底部 顶部
js3='document.getElementById("ideaic").scrollTop=10000'
driver.execute_script(js3)
time.sleep(delay) js4='document.getElementById("ideaic").scrollTop=0'
driver.execute_script(js4)
time.sleep(delay) # 横向右侧 左侧
js5='document.getElementById("ideaic").scrollLeft=10000'
driver.execute_script(js5)
time.sleep(delay) js6='document.getElementById("ideaic").scrollLeft=0'
driver.execute_script(js6)
time.sleep(delay) #用class定位
js7='document.getElementsByClassName("scroll")[0].scrollTop=10000'
driver.execute_script(js7)
time.sleep(delay) js8='document.getElementsByClassName("scroll")[0].scrollLeft=10000'
driver.execute_script(js8)
time.sleep(delay) driver.quit()

Python3+Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)的更多相关文章

  1. Python3+Selenium3+webdriver学习笔记13(js操作应用:弹出框无效如何处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记13(js操作应用:弹出框无效如何处理)'''from sel ...

  2. Python3+Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )

    !/usr/bin/env python -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )'''from selenium im ...

  3. Python3+Selenium3+webdriver学习笔记9(发送富文本信息及上传文件处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记9(发送富文本信息及上传文件处理)'''from seleni ...

  4. Python3+Selenium3+webdriver学习笔记8(单选、复选框、弹窗处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记8(单选.复选框.弹窗处理)''' from selenium ...

  5. Python3+Selenium3+webdriver学习笔记11(cookie处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记11(cookie处理)'''from selenium im ...

  6. Python3+Selenium3+webdriver学习笔记10(元素属性、页面源码)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记10(元素属性.页面源码)'''from selenium i ...

  7. Python3+Selenium3+webdriver学习笔记7(选择多链接的结果、iframe、下拉框)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from selenium import webdriverfrom selenium.webdriver.co ...

  8. Python3+Selenium3+webdriver学习笔记6(多窗口切换处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from selenium import webdriverfrom selenium.webdriver.co ...

  9. Python3+Selenium3+webdriver学习笔记5(模拟常用键盘和鼠标事件)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from selenium import webdriverfrom selenium.webdriver.co ...

随机推荐

  1. WPF学习系列之四(WPF事件5大类)

    WPF最重要的5类事件: 生命周期事件:这些事件将在元素被初始化,加载或卸载时发生. 鼠标事件 这些事件是鼠标动作的结果. 键盘事件 这些事件是键盘动作的结果. 手写笔事件 这些事件是作用类似铅笔的手 ...

  2. <c和指针>学习笔记2之数据和语句

    1 语句 (1)空语句----->本身只包含一个分号 (2)表达式语句 在表达式后面加上一个分号就可以把表达式转变为语句 (3)代码块 位于一对花括号之内的可选的声明和语句列表 (4)if语句 ...

  3. VNC协议分析

    VNC协议分析 摘自: http://blog.csdn.net/forever_feng/article/details/4703088 简介 VNC(Virtual Network Computi ...

  4. 2-3 Flutter开发环境与iOS开发环境设置(Mac)

    Mac下环境搭建 先不看了 都是Mac下的环境搭建

  5. Linux 基础命令(一)

    Linux 基础: https://www.cnblogs.com/linhaifeng/articles/6045600.html Linux 比 Windows 更稳定做服务器,开发出来的软件需要 ...

  6. RPC原理与实践(二)----Thrift分层模型

    这一节我们从一下几个方面来讲一下Thrift的分层架构,按照官方的定义这是Thrift的网络栈,其中网络栈中分为一下几个部分,(由栈顶到栈底)server,processor,protocol,tra ...

  7. Javascript 返回上一页:选中GridVIew的 Chekcbox

    1.  选中GridVIew的值 $("#reverse").click(function () { //$("#checkbox[Num]").attr(&q ...

  8. socket网络编程实践要点

    1.创建udp的socket句柄 // 当host_port为0时,则表示让操作系统自动分配 bool createUdpSocket(string host_ip,unsigned short ho ...

  9. 2017-8-31 NOIP模拟赛

    可接受序列 [题目描述] 让计算机这样读入一列非负整数: 1.读入数T. 2.接着往下读入T个数. 3.如果数列读完了,则停止,否则,转到1. 但是,往往会出现这样的问题:执行第2步时,数列已经没有T ...

  10. Java无模板导出Excel,Apache-POI插件实现

    开发环境 jdk 1.8 Maven 3.6 Tomcat 8.5 SpringBoot 2.1.4.RELEASE Apache-POI 3.6 Idea 注意: 我是在现有的基于SpringBoo ...