【发布时间】:2014-02-08 10:33:09
【问题描述】:
我正在尝试通过在打开的浏览器上执行 javascript 来删除具有“RemoveByMe”类的所有元素。我之前自己创建了这些元素。
我从 Python 调用该 javascript:Selenium 控制浏览器,并将 javascript 发送到打开的浏览器。但我认为问题出在 javascript 方面,原因在下一行。
执行每个脚本的python代码是:
Browser.execute_script("script here")
到目前为止,我已经尝试了以下 javascript 代码:
$('.RemoveByMe').remove();
这会给出以下错误信息:
#WebDriverException: Message: u'$ is not defined' ; Stacktrace:
at anonymous
这个错误似乎来自python方面,所以我测试了更多的javascript代码:
var DocElements = document.getElementsByTagName('RemoveByMe');for(var i = 0; i < DocElements.length; i++){DocElements[i].parentNode.removeChild(DocElements[0]);}
这个没有抛出任何错误(确认 python 端正在工作),但仍然没有删除元素。 (javascript 无法删除它们)
所有经过测试的 javascript 代码都可以在某些网站上运行,但 in some others 不行。 这让我认为问题出在网站上,阻止了 javascript 删除元素。 (虽然我可以成功添加它们)
我怎么能跳过预防措施?
【问题讨论】:
标签: javascript python selenium element