yaoer 发表于 2014-11-24 18:24:26

执行JS报错是为什么

我的其中一段代码是:
        try:
                dr.find_element_by_id("email_sign_up_popup")
                a='1'
        except:
                a='0'
        if a=='1':
                print "yes"
                js='document.getElementById("email_sign_up_popup").remove();document.getElementById("bg").style.display="none";'
                dr.execute_script(js)
                sleep(3)
        elif a=='0':
                print "no",

这段代码执行的结果会说JS错误,我一直没看出来哪里错误了,麻烦大神帮忙看下。执行后的结果

ruoyi1314520 发表于 2014-11-24 20:31:19

js错了,不明白你写这个是想实现什么功能,一个删除节点,一个设置属性,你想实现的这个功能,可以不靠JS,就靠webdriver都能解决的

yaoer 发表于 2014-11-25 17:30:00

ruoyi1314520 发表于 2014-11-24 20:31
js错了,不明白你写这个是想实现什么功能,一个删除节点,一个设置属性,你想实现的这个功能,可以不靠JS, ...

我试过webdriver,没有成功,才想着通过JS来实现,目的就是删除一个元素和隐藏一个元素,但是不知道这个JS错在哪里了。

ruoyi1314520 发表于 2014-11-25 17:45:41

yaoer 发表于 2014-11-25 17:30
我试过webdriver,没有成功,才想着通过JS来实现,目的就是删除一个元素和隐藏一个元素,但是不知道这个J ...

你是想实现前端什么功能,因为删除一个元素,或者隐藏一个元素,这个是基于前端内部了,站在用户角度,为什么要这么做,是想做什么功能,不可能webdriver解决不了的,那种可能性非常非常低,就看自己的设计能力,不可能是,一个下拉选择框中,有3个选择项,你想删除2个,只保留一个选择?,反正我搞前端自动化这么久,还真不知道你做这个的原因是啥

yaoer 发表于 2014-11-25 18:10:24

ruoyi1314520 发表于 2014-11-25 17:45
你是想实现前端什么功能,因为删除一个元素,或者隐藏一个元素,这个是基于前端内部了,站在用户角度,为 ...

我就是想判断下这个id=email_sign_up_popup的元素是否存在,如果存在就删除他(因为这个元素并不是每次都要出来),可是我用webdriver经常找不到,但是这个元素在页面上是存在的。我用remove只是想移除这个方法,我在firefox控制台试过了,可以执行的,不只是适用下下拉菜单哈。
求指导。

ruoyi1314520 发表于 2014-11-25 18:35:14

你为什么要删除它,看你之前的帖子,这个是不是弹出框,你想删除掉,然后占击下面的内容,但是没必要呀,明显能解决,如何关闭那个弹出框

ruoyi1314520 发表于 2014-11-25 18:49:24

我给你留言把我Q发你了,你看信息吧,我们加Q说吧,很喜欢你的这个问题,或者你把你Q发我,加Q说吧

yaoer 发表于 2014-11-25 19:02:36

ruoyi1314520 发表于 2014-11-25 18:35
你为什么要删除它,看你之前的帖子,这个是不是弹出框,你想删除掉,然后占击下面的内容,但是没必要呀,明 ...

是的,我原本是想点弹出框上面的关闭按钮,可是总是没有起作用,逼不得已,想到删除这个div的想法。网页源代码是:
我写的确定点击关闭是否有作用的是:
执行结果是:
但事实上,那个弹出层还存在页面上。
页: [1]
查看完整版本: 执行JS报错是为什么