javascript - 使用 JavaScript 从打开的 Web 浏览器中删除元素

标签 javascript python selenium element

我试图通过在打开的浏览器上执行 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 删除元素。 (虽然我可以成功添加它们)

我怎样才能跳过这种预防措施?

最佳答案

第一个显然似乎没有定义 jQuery。

第二个看起来很接近,尽管您需要 document.getElementsByClassName('RemoveByMe') ...而不是 getElementsTagName,因为您想通过 CSS 类获取元素。

关于javascript - 使用 JavaScript 从打开的 Web 浏览器中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21644908/

相关文章:

javascript - Jquery 首先选中复选框

javascript - 当我点击时 jQuery 没有返回正确的 ID

python - 如何让fontforge模块打印瀑布样本?

python - Python flood-fill 算法的奇怪行为

python - 字节数组和列表的区别

javascript - 在 2D 平面上查找不可访问的点

javascript - 响应 storage.get 时出错 : TypeError: Cannot read property 'addListener' of undefined

python - Selenium:获取特定类(class)的 child

java - 您好,我在 Eclipse 中进行 Selenium 测试的代码有问题

java - 无法识别元素