web自动化(四)日期控件

执行js脚本有两种方式一种是原始js 一种jQuery 推荐使用jQuery 根据简洁 方便

selenuim

bash 复制代码
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import  WebDriverWait
from  selenium.webdriver.support import  expected_conditions as EC
web=webdriver.Firefox()
web.get("https://www.12306.cn/index")
el=(By.ID,"train_date")
WebDriverWait(web,10,2).until(EC.presence_of_element_located(el))
el_se=web.find_element(*el)
#执行js 方式
# js="arguments[0].setAttribute('readonly',true)"
# web.execute_script(js,el_se)
# time.sleep(5)
# #控件如果是只读,需要删除readonly 属性
# #arguments 是参数集合
# js="var el=arguments[0]; el.removeAttribute('readonly')"
# web.execute_script(js,el_se)

#jQuery 方式 推荐
js="$('#train_date').attr('readonly',true)"
time.sleep(5)
web.execute_script(js)
time.sleep(5)
js="$('#train_date').removeAttr('readonly')"
web.execute_script(js)


time.sleep(5)
el_se.clear()
time.sleep(2)
el_se.send_keys("2024-07-15")
time.sleep(5)
web.quit()

drissionpage

bash 复制代码
import time
from DrissionPage import  WebPage
from DrissionPage.common import By as DBy
web_page=WebPage("d")
web_page.get("https://www.12306.cn/index")
el=(DBy.ID,"train_date")

web_page.wait.eles_loaded(el,timeout=5)
js="$('#train_date').attr('readonly',true)"
web_page.run_js(js)
time.sleep(10)

js="$('#train_date').removeAttr('readonly')"
web_page.run_js(js)

time.sleep(5)

js="$('#train_date').val('2024-7-18')"
web_page.run_js(js)

time.sleep(5)
web_page.quit()
相关推荐
qq19226383 小时前
电动车 BMS 中锂电池 SOC 算法探究
自动化
守城小轩4 小时前
基于Chrome140的Reddit账号自动化(关键词浏览)——运行脚本(三)
运维·自动化
测试19986 小时前
selenium自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
Jerry.张蒙7 小时前
SAP物料移动与财务集成的逻辑梳理
大数据·ai·信息可视化·自动化·运维开发·创业创新
开***能7 小时前
ASI转Profinet网关助力包装全产业自动化
运维·自动化
星融元asterfusion8 小时前
容器化NPB + Ansible:自动化运维方案
运维·自动化·ansible
北京耐用通信8 小时前
协议转换的‘魔法转换器’!耐达讯自动化Ethernet/IP转Devicenet如何让工业机器人‘听懂’不同咒语?”
网络·人工智能·科技·网络协议·机器人·自动化·信息与通信
3DVisionary8 小时前
高精度三维扫描+自动化,新拓三维打造中小型工业零部件数字化检测新方案
运维·自动化·蓝光三维扫描·dic技术·复杂零部件的批量检测·模型试验·自动化和数字化测量
张人大 Renda Zhang9 小时前
2025 年版笔记:Java 开发如何用 AI 升级 CI/CD 和运维?
java·运维·ci/cd·ai·云原生·架构·自动化