#!/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学习系列之二 (依赖项属性)

    依赖属性;(dependency property)  它是专门针对WPF创建的,但是WPF库中的依赖项属性都使用普通的.NET属性过程进行了包装.从而可能通过常规的方式使用它们,即使使用他们的代码不 ...

  2. mongodb主从复制配置

    dbpath=/home/mongodb/data logpath=/home/mongodb/log/mongodb.log logappend=true port= fork=true noaut ...

  3. 浅谈HTML移动Web开发(转)

    一.响应式Web设计 PC端常用的两种布局方式就是固定布局和弹性布局,前者设置一个绝大多数电脑能征服显示的固定宽度居中显示,后者则采用百分百. 响应式布局意味着媒体查询,响应式web设计并非新的技术, ...

  4. Poll:&nbsp;Most&nbsp;Americans&amp;n…

    Most Americans support tough new measures to counter gun violence, including banning assault weapons ...

  5. js函数定义参数个数和实际传入参数的对比

    因为js是一种弱类型的编程语言,对数据类型的要求没有其他编程语言的要求严格,所以在定义函数的时候不需要像java和C#一样对其传入参数的类型进行定义.那么传入参数的个数有没有影响呢?今天小猪就做了个实 ...

  6. QDUOJ 炸老师与他的女朋友们 bfs+状压

    炸老师与他的女朋友们 Description qdu最帅的炸老师今天又要抽空去找他的女朋友们了,但是考虑到他的好gay友ycb仍是个单身狗,炸老师作为基友不希望打击他.所以他在找女朋友们的路途中必须要 ...

  7. EntityFramework 中的链接研究初探

    很多人用EF的默认链接工厂:System.Data.Entity.Infrastructure.LocalDbConnectionFactory 然后我一开始就不习惯,然后研究了一下,截图如下 然后就 ...

  8. tf.pad()

      说一下我理解的tf.pad(),先来看一下定义: def pad(tensor, paddings, mode="CONSTANT", name=None, constant_ ...

  9. jzoj6008. 【THUWC2019模拟2019.1.18】Sequence (矩阵加速)

    题面 茉优最近研究发现,一个人的想愿能力可以认为是字符串S的一个子串S[l,r],而连接值可以认为是这个子串的本质不同子序列个数.现在她想验证她的结论是否正确,于是她给了你Q个询问,希望你帮她来计算, ...

  10. VM Fusion配置静态IP和物理机通讯

    Vm虚拟机在WIndow系统上和物理机进行通讯很方便,但是在Mac上简直跟吃了屎一样难用的要死,物理机断了网以后还不能和虚拟机通讯, 如果在windows上做开发,也是简直和吃了屎一样,难用的要屎,这 ...