Javascript Python Selenium:从网页正文中删除某些字符

Javascript Python Selenium:从网页正文中删除某些字符,javascript,python,selenium,dom,Javascript,Python,Selenium,Dom,我正在用Python中的Firefox运行Selenium,并试图从列表中的关键字匹配页面上的元素 要使元素查找成功,我需要去掉一些特殊字符,如®和™ 在网页上。不幸的是,我无法预测这些字符何时被使用,因此我无法将它们添加到问题的“关键字末尾” 我不认为Selenium或Firefox本身可以从网页中删除不需要的字符,但我的想法是让Selenium在页面上执行JavaScript并删除这些字符。可能吗 大概是这样的,不起作用的伪代码: driver.execute_script("documen

我正在用Python中的Firefox运行Selenium,并试图从列表中的关键字匹配页面上的元素

要使元素查找成功,我需要去掉一些特殊字符,如®和™ 在网页上。不幸的是,我无法预测这些字符何时被使用,因此我无法将它们添加到问题的“关键字末尾”

我不认为Selenium或Firefox本身可以从网页中删除不需要的字符,但我的想法是让Selenium在页面上执行JavaScript并删除这些字符。可能吗

大概是这样的,不起作用的伪代码:

driver.execute_script("document.body.innerHTML.replace(/®/g, '');")
替换应该在驱动程序尝试“读取”页面和
查找\u元素之前进行


仅供参考,我要删除的字符位于文档正文中
单元格的
节点中。

ASCII的范围为0到127,因此可以通过以下方式执行:

document.body.innerHTML.replace(/[^\x00-\x7F]/g, '');
document.body.innerHTML.replace(/(®)/, '');
如果只想删除®,可以通过以下方式执行:

document.body.innerHTML.replace(/[^\x00-\x7F]/g, '');
document.body.innerHTML.replace(/(®)/, '');

这对我很有用:
driver.execute_-script(“var-replaced=$('body').html().replace(/(®)/g,);$('body').html(replaced);”)
,在你们的帮助下,我认为这是一种更简短、更容易阅读的方式:
driver.execute_-script(“document.body.innerHTML.replace(/(?)/,'');”)
我同意你们的观点。但是当在Chrome Javascript控制台中运行该命令时,它没有重新呈现页面(尽管我可以在响应控制台中看到HTML输出)。也许我遗漏了什么?请尝试一下这段代码,我确信它能工作:
page\u source=driver.execute\u script(“return document.body.innerHTML.replace(/(?)/‌​, '');")现在“页面源代码”包含重新呈现的页面源代码。