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()
相关推荐
泽众云测试2 小时前
泽众软件与日联科技达成合作,TestOne自动化测试平台助力搭建工业检测装备数字化品控防线
功能测试·测试工具·自动化
向上的车轮2 小时前
GitHub Actions 自动化运维实战:Rust 全栈项目 CI/CD 至华为云
运维·自动化·github
鹿鹿学长3 小时前
从英伟达开源Nemotron 3.5看“本地跑大模型“:一张显卡够用的时代来了
python·自动化
梦想的旅途23 小时前
企微私域自动化:客户全生命周期 SOP 策略与配置实战
运维·自动化·企业微信
梦想的旅途24 小时前
企业微信销售自动化:线索分配与超时预警
小程序·自动化·企业微信
HiDev_5 小时前
【非标自动化】硬核阅读理解620行梯形图-逆推工位逻辑
运维·自动化
xiaoxiangsiyan6 小时前
机房交换机交换技术与服务器链路聚合深度指南
运维·服务器·网络·学习·自动化·bond
梦想的旅途27 小时前
企微社群裂变实战:自动化群接龙与活动打卡系统搭建
运维·自动化·企业微信
匠测AI说7 小时前
Selenium 工作原理深度解析:从架构到实践
selenium·测试工具·架构
酷可达拉斯8 小时前
自动化运维-Ansible触发器与变量
运维·服务器·自动化·ansible