前言

日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题。

基本思路:先用js去掉readonly属性,然后直接输入日期文本内容

代码整理如下:

from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitimport time as t

driver = webdriver.Chrome()driver.maximize_window()driver.get("https://kyfw.12306.cn/otn/leftTicket/init?linktypeid=wf")driver.implicitly_wait(10)WebDriverWait(driver,10)driver.find_element_by_id("wf_label").click()

#开始地点driver.find_element_by_id("fromStationText").clear()driver.find_element_by_id("fromStationText").send_keys("XX\n")t.sleep(3)

#到达地点driver.find_element_by_id("toStationText").clear()driver.find_element_by_id("toStationText").send_keys("XX\n")t.sleep(3)

# 去掉元素的readonly属性js = 'document.getElementById("train_date").removeAttribute("readonly");'driver.execute_script(js)t.sleep(3)

# 用js方法输入日期js_value = 'document.getElementById("train_date").value="2019-06-01"'driver.execute_script(js_value)t.sleep(3)

#js处理返程时间JS = 'document.getElementById("back_train_date").removeAttribute("readonly");'driver.execute_script(JS)end_js= 'document.getElementById("back_train_date").value="2019.5.3"'driver.execute_script(end_js)t.sleep(3)

#点击查询按钮driver.find_element_by_id("query_ticket").click()t.sleep(2)

# # 清空文本后输入值# driver.find_element_by_id("train_date").clear()# driver.find_element_by_id("train_date").send_keys("2016-12-25")

#关闭窗口driver.quit()

转载于:https://www.cnblogs.com/Teachertao/p/10976953.html

selenium3 + python - js处理readonly属性相关推荐

  1. python selenium 用js删除 readonly属性

    当我们想在输入框 是日期类型,并send_keys 的时候发现不能输入,要么你搞日历这个很麻烦, 还有一个方法用js,非常简单 selenium+python操作js页面,删除某个元素 例子如下:删除 ...

  2. 使用js控制readonly属性

    1.使用原生JS <!DOCTYPE html> <html lang="en"> <head><meta charset="U ...

  3. Python+selenium自动化-js处理日历控件(修改readonly属性)

    前言 今天写自动化脚本的时候遇到一个需要更改日期的控件,不想费劲巴拉的去找日历的定位,但是又没办法直接输入我想输的日期时间,想了会儿之后决定用js解决日历控件 基本思路:先用js去掉readonly属 ...

  4. python时间控件readonly属性_Selenium2+python自动化----js处理日历控件(修改readonly属性)...

    前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...

  5. python时间控件readonly属性_人生苦短,我学python之python+selenium js处理日历控件(修改readonly属性)...

    转载于 上海-悠悠的博客 前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性 ...

  6. 【基于python实现UI自动化】3.4 JS 处理日历控件(删除 readonly 属性)

    python-UI自动化 1.0 selenium工具介绍 2.0 selenium环境搭建 3.0 selenium常见8大元素定位 3.1 selenium通过By定位元素 3.2 seleniu ...

  7. Selenium2+python自动化25-js处理日历控件(修改readonly属性)

    前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...

  8. pythongui日历控件_Selenium2+python自动化25-js处理日历控件(修改readonly属性)

    前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...

  9. python时间控件readonly属性_13-js处理日历控件(修改readonly属性)

    [TOC] **前言** 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题 ...

最新文章

  1. 如何发表自己的第一篇SCI?
  2. 音频处理五:(音频的FFT计算)
  3. GIS基础软件及操作(十)
  4. 华为y7可以人脸识别吗_华为手机经常弹出“系统更新”提示,可以不更新吗?看完涨知识了...
  5. java编写系统登录界面_java 登陆界面怎么写,连接数据库后
  6. STM32之SDIO例程
  7. 智能实验室-CHM浏览器(CHM Explorer) 2.0.0.200
  8. matlab单层感知器画线,MATLAB神经网络学习(1):单层感知器
  9. ip地址自动获取背后的机制(udhcpc)
  10. Windows10系统删除文件夹“找不到该项目”强删方法
  11. SICP中关于兑换零钱的练习
  12. 关于微擎人人商城互动直播通信服务安装和启动教程记录
  13. 7-9 幂集(回溯法) (20 分)(C语言版)
  14. QT 获取键盘组合键
  15. python getattrribute_补8.python之面相对象part.7(类相关函数的补充)
  16. r语言做绘制精美pcoa图_R语言进行PCoA分析
  17. 问道手游平民玩家什么职业好
  18. 测试用例(测试用例的编写、评审和管理)
  19. Git下载和安装步骤
  20. dos下编写java程序_在DOS命令行状态下,如果命令java Hello成功运行了程序,那么下面哪些叙述是正确的()...

热门文章

  1. Web API-DOM-滚动事件、加载事件和元素大小和位置
  2. LeetCode 516 最长回文子串
  3. MediaExtractor的使用
  4. 文档权限服务器上,服务器上的权限
  5. command对象提供的3个execute方法是_Python:3分钟看懂,基于 Psycopg2 的 PostgreSQL 操作指南!
  6. python headers 随机_0基础学Python之反爬虫利器,搭建HTTP代理~~
  7. java.lang.ClassNotFoundException: org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.CTPIm
  8. 【NOI OpenJudge】【1.3】编程基础之算术表达式与顺序执行
  9. UVA1583 - Digit Generator
  10. gram矩阵的性质_第十七课:正交矩阵和GramSchmidt正交化——MIT线性代数课程学习笔记...