hustar0102 发表于 2016-6-13 14:48:16

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:36

你应该去看下selenium定位元素有哪几种方式,网上大量的资料,除了你说的,还可以XPATH跟坐标啊定位啊

hustar0102 发表于 2016-6-14 11:41:49

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:58

可以自己修改代码试试是否能实现,通过css,xpath定位

hustar0102 发表于 2016-6-15 17:18:47

找到方法了
例子如下:删除元素D下面 readonly属性

d=driver.find_element_by_xpath("//*[@id='divform']/div/ul/li/span/input")
driver.execute_script('arguments.removeAttribute(\"readonly\")', d);

abclookme 发表于 2016-6-28 17:32:32

通过xpath来定位,有2种方法:相对路径和绝对路径
一种可以通过firefox直接获得,
如果浏览器上直接获取的xpath定位不成功,就只能使用数标签的绝对路径了。如:

abclookme 发表于 2016-6-28 17:33:51

使用xpath的2种方法,可以定位到所有元素
分别为图片中的绝对路径、相对路径 方法
页: [1]
查看完整版本: selenium+python+js如何删除html中的某个元素