selenium3 + python - js处理readonly属性
前言
日历控件是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属性相关推荐
- python selenium 用js删除 readonly属性
当我们想在输入框 是日期类型,并send_keys 的时候发现不能输入,要么你搞日历这个很麻烦, 还有一个方法用js,非常简单 selenium+python操作js页面,删除某个元素 例子如下:删除 ...
- 使用js控制readonly属性
1.使用原生JS <!DOCTYPE html> <html lang="en"> <head><meta charset="U ...
- Python+selenium自动化-js处理日历控件(修改readonly属性)
前言 今天写自动化脚本的时候遇到一个需要更改日期的控件,不想费劲巴拉的去找日历的定位,但是又没办法直接输入我想输的日期时间,想了会儿之后决定用js解决日历控件 基本思路:先用js去掉readonly属 ...
- python时间控件readonly属性_Selenium2+python自动化----js处理日历控件(修改readonly属性)...
前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...
- python时间控件readonly属性_人生苦短,我学python之python+selenium js处理日历控件(修改readonly属性)...
转载于 上海-悠悠的博客 前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性 ...
- 【基于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 ...
- Selenium2+python自动化25-js处理日历控件(修改readonly属性)
前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...
- pythongui日历控件_Selenium2+python自动化25-js处理日历控件(修改readonly属性)
前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...
- python时间控件readonly属性_13-js处理日历控件(修改readonly属性)
[TOC] **前言** 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题 ...
最新文章
- 如何发表自己的第一篇SCI?
- 音频处理五:(音频的FFT计算)
- GIS基础软件及操作(十)
- 华为y7可以人脸识别吗_华为手机经常弹出“系统更新”提示,可以不更新吗?看完涨知识了...
- java编写系统登录界面_java 登陆界面怎么写,连接数据库后
- STM32之SDIO例程
- 智能实验室-CHM浏览器(CHM Explorer) 2.0.0.200
- matlab单层感知器画线,MATLAB神经网络学习(1):单层感知器
- ip地址自动获取背后的机制(udhcpc)
- Windows10系统删除文件夹“找不到该项目”强删方法
- SICP中关于兑换零钱的练习
- 关于微擎人人商城互动直播通信服务安装和启动教程记录
- 7-9 幂集(回溯法) (20 分)(C语言版)
- QT 获取键盘组合键
- python getattrribute_补8.python之面相对象part.7(类相关函数的补充)
- r语言做绘制精美pcoa图_R语言进行PCoA分析
- 问道手游平民玩家什么职业好
- 测试用例(测试用例的编写、评审和管理)
- Git下载和安装步骤
- dos下编写java程序_在DOS命令行状态下,如果命令java Hello成功运行了程序,那么下面哪些叙述是正确的()...
热门文章
- Web API-DOM-滚动事件、加载事件和元素大小和位置
- LeetCode 516 最长回文子串
- MediaExtractor的使用
- 文档权限服务器上,服务器上的权限
- command对象提供的3个execute方法是_Python:3分钟看懂,基于 Psycopg2 的 PostgreSQL 操作指南!
- python headers 随机_0基础学Python之反爬虫利器,搭建HTTP代理~~
- java.lang.ClassNotFoundException: org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.CTPIm
- 【NOI OpenJudge】【1.3】编程基础之算术表达式与顺序执行
- UVA1583 - Digit Generator
- gram矩阵的性质_第十七课:正交矩阵和GramSchmidt正交化——MIT线性代数课程学习笔记...