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

时间:2017-09-24 11:29:41

标签: javascript python selenium dom

我在Python中使用Firefox运行Selenium,我正在尝试将列表中的元素与列表中的关键字进行匹配。

为了使元素查找成功,我需要在网页上删除一些特殊字符,如®和™。遗憾的是,我无法预测何时使用这些字符,因此我无法将其添加到问题的“关键字结束”。

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

像这样的东西可能是非工作的伪代码:

...2017/09/01/postA#anchor1

替换应在驱动程序尝试“阅读”页面driver.execute_script("document.body.innerHTML.replace(/®/g, '');") 之前发生。

仅供参考我想要删除的字符位于文档正文中find_element个单元格中的<a> text()个节点中。

1 个答案:

答案 0 :(得分:2)

ASCII的范围是0到127,所以你可以这样做:

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

如果您只想删除®,您可以这样做:

document.body.innerHTML.replace(/(®)/, '');