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)
二、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')
分类:
selenium
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程