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
原文地址:https://www.cnblogs.com/liunaixu/p/11089594.html