1.首先,我们列出Selenium 对JS元素操作的4中方法:
  1. 增加属性
 driver.execute_script(“arguments[0].%s=arguments[1]” %attributeName,elementObj, value)
  1. 修改属性
driver.execute_script(“arguments[0].setAttribute(arguments[1],arguments[2])”, elementObj, attributeName, value)
  1. 获取属性
elementObj.get_attribute(attributeName)
  1. 删除属性
driver.execute_script(“arguments[0].removeAttribute(arguments[1])”,elementObj, attributeName)

attributeName 就是属性名字 elementObj 就是元素对象 value 就是值

2.就 '增加属性方法 ',我们具体的讲解一下:

我们要讲解的一个具体的案列是这样的:

分析一下:

图片的左侧是一个表单,有" 开始时间" ,"结束时间"和 “导出类型”。我们想要的结果就是,通过selenium 给 “开始时间” 和 “结束时间” 传递时间戳。

图片的右侧是对应的html 代码,观察可以发现是一个 form 表单,输入框是一个input 标签,然后再发送Post请求。

在此之前,我尝试过用driver.send_keys() 方法,传递数据,但是由于格式混乱,导致失败了。
下面的这张照片就是我想要的结果,只是我是想通过selenium 去实现而已。

上代码:

# 获取开始时间对象   添加开始时间
start_time = short_driver.find_elements_by_xpath("//div[@class='info_box']/div[1]/input[@name='start_time']")[0]
short_driver.execute_script("arguments[0].%s=arguments[1]" % 'value', start_time, '2019-09-12')
# 获取结束时间对象    添加截止时间
end_time = short_driver.find_elements_by_xpath("//div[@class='info_box']/div[2]/input[@name='end_time']")[0]
short_driver.execute_script("arguments[0].%s=arguments[1]" % 'value', end_time, '2019-09-29')
down_click = short_driver.find_elements_by_xpath("//button[@class='but']")[0]
down_click.click()
time.sleep(2)

程序执行之后,是这样的结果,也就是我想要的结果:

仔细观察右侧的 input 标签,已经多了一个value=“2019-09-12” , value=“2019-09-29” 属性和属性值。
之后,就可以去点击"导出" ,下载音频数据了。

Python selenium对js元素进行增删改查操作相关推荐

  1. python数据库教程_Python连接mysql数据库及简单增删改查操作示例代码

    1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...

  2. python操作数据库教程_Python连接mysql数据库及简单增删改查操作示例代码

    1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...

  3. Python面向对象编程案例:封装数据库增删改查操作

    问题描述:编写一个类,封装对SQLite数据库的增删改查操作,使得数据库操作更加友好,类的使用者不需要了解SQL语句的语法规则,只需要了解类的接口即可. 思考下面的问题,尝试着写一写,然后到达文末查看 ...

  4. python操作mysql的增删改查_详解使用pymysql在python中对mysql的增删改查操作(综合)...

    这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结: 先查阅数据库: 现在编写源码进行增删改查操作,源码为: #!/usr/bin/python #coding ...

  5. 一篇文章教会你创建vue项目和使用vue.js实现数据增删改查

    简介:一篇文章教会你创建vue项目和使用vue.js实现数据增删改查 [一.项目背景] 在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品.修改商品价格.删除商品 ...

  6. list vue 添加数据方法_一篇文章教会你创建vue项目和使用vue.js实现数据增删改查...

    简介:一篇文章教会你创建vue项目和使用vue.js实现数据增删改查 [一.项目背景] 在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品.修改商品价格.删除商品 ...

  7. python diango 增删改查_python中关于django对数据库Mysql的增删改查操作详解

    下面小编就为大家带来一篇python django 增删改查操作 数据库Mysql.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 下面介绍一下django增删改查操作: ...

  8. mysql 增删修模型_48.Python中ORM模型实现mysql数据库基本的增删改查操作

    首先需要配置settings.py文件中的DATABASES与数据库的连接信息, DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my ...

  9. 用Python+Mysql+MDUI实现的数据库增删改查列表操作及单,多文件上传实例

    用Python+Mysql+MDUI实现的数据库增删改查列表操作及单,多文件上传实例.web服务用flask框架,数据库操作用的pymysql框架.教程在我B站有的. 开源地址:https://git ...

最新文章

  1. Linux创建文件系统的命令及xfs文件系统介绍
  2. 本地服务器下的局域网安全吗_本地安全认证服务器
  3. 基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba的企业级微服务敏捷开发系统架构
  4. jquer案例2:改变元素的样式、复选框、下拉框 省份的选择
  5. 数字电路与微型计算机原理,电子科技大学1999年考研真题-微机原理与数字电路...
  6. C++ 迭代器 删除(erase)插入(insert)之后失效
  7. graphic头文件函数_C语言图形函数库总结graphics.h
  8. GlobalMapper20提取点云LAS文件当中的投影信息
  9. 思迅商云8修改服务器端口,思迅商云8 sql server端口打开失败1433
  10. ubuntu18.04安装dash-to-dock出错的问题
  11. 【转载】最全的计算广告资料,广告算法工程师入门
  12. php 动态倒计时计数器跳转至另一个页面,JavaScript_基于JavaScript实现网页倒计时自动跳转代码,用JS实现网页上的自动跳转功 - phpStudy...
  13. jy在线制图系统免费源码丨一秒生成广告横图海报图
  14. hellow windows
  15. 12306接口协议分析
  16. WPF入门第三篇 ControlTemplate、Trigger与Storyboard
  17. Access数据库的加密与解密
  18. P2P网络基础(学习笔记)
  19. C++_变量/常量/标识符命名规则
  20. 谷歌浏览器开发者工具调整不同尺寸设备,经常会遇到页面特别大显示不全导致滚动

热门文章

  1. LocalDateTime - Java处理日期和时间
  2. 使用Commons Logging - Java异常处理
  3. hough变换检测直线 matlab,求能够运行的用matlab进行hough变换直线检测的程序。急!...
  4. Java Pattern类的用法详解(正则表达式)
  5. 时间轮算法解析(Netty HashedWheelTimer源码解读)
  6. selenium webdirver之rdoc使用
  7. 下一代网络安全将全部基于行为识别
  8. 礼赞 Wordpress,蝉知可直接使用 Wordpress 模板
  9. 基于jquery的侧边栏分享导航
  10. Swift基础:创建第一个Swift工程:Swift的基本语法