Python selenium对js元素进行增删改查操作

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” 属性和属性值。
之后,就可以去点击"导出" ,下载音频数据了。

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值