51Testing软件测试论坛

标题: selenium+python+js如何删除html中的某个元素 [打印本页]

作者: hustar0102    时间: 2016-6-13 14:48
标题: selenium+python+js如何删除html中的某个元素
查询些资料,通过这个方法可以删除html中的readonly元素。driver.execute_Script("var setDate=document.getElementById(\"train_date\");setDate.removeAttribute('readonly');")

但脚本中是通过id定位到元素的,如果html中没有id怎么定位呢?求大神指导,顺便把这个语句封装成个函数,以后传参就能用,谢谢大神

作者: seagull1985    时间: 2016-6-14 10:15
你应该去看下selenium定位元素有哪几种方式,网上大量的资料,除了你说的,还可以XPATH跟坐标啊定位啊
作者: hustar0102    时间: 2016-6-14 11:41
seagull1985 发表于 2016-6-14 10:15
你应该去看下selenium定位元素有哪几种方式,网上大量的资料,除了你说的,还可以XPATH跟坐标啊定位啊

setDate=document.getElementById(\"train_date\");setDate.removeAttribute('readonly');")这脚本中,只有document.getElementById这个方法,没有document.getElementByXpath方法
作者: Miss_love    时间: 2016-6-14 13:34
可以自己修改代码试试是否能实现,通过css,xpath定位
作者: hustar0102    时间: 2016-6-15 17:18
找到方法了
例子如下:删除元素D下面 readonly属性

d=driver.find_element_by_xpath("//*[@id='divform']/div[2]/ul[2]/li[3]/span[2]/input[1]")
driver.execute_script('arguments[0].removeAttribute(\"readonly\")', d);
作者: abclookme    时间: 2016-6-28 17:32
通过xpath来定位,有2种方法:相对路径和绝对路径
一种可以通过firefox直接获得,
如果浏览器上直接获取的xpath定位不成功,就只能使用数标签的绝对路径了。如:


作者: abclookme    时间: 2016-6-28 17:33
使用xpath的2种方法,可以定位到所有元素
分别为图片中的绝对路径、相对路径 方法




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2