我在Python中使用Firefox运行Selenium,我正在尝试将列表中的元素与列表中的关键字进行匹配。
为了使元素查找成功,我需要在网页上删除一些特殊字符,如®和™。遗憾的是,我无法预测何时使用这些字符,因此我无法将其添加到问题的“关键字结束”。
我不认为Selenium或Firefox本身可以从网页中删除不需要的字符,但我的想法是让Selenium在页面上执行JavaScript并删除这些字符。这可能吗?
像这样的东西可能是非工作的伪代码:
...2017/09/01/postA#anchor1
替换应在驱动程序尝试“阅读”页面driver.execute_script("document.body.innerHTML.replace(/®/g, '');")
之前发生。
仅供参考我想要删除的字符位于文档正文中find_element
个单元格中的<a>
text()
个节点中。
答案 0 :(得分:2)
ASCII的范围是0到127,所以你可以这样做:
document.body.innerHTML.replace(/[^\x00-\x7F]/g, '');
如果您只想删除®,您可以这样做:
document.body.innerHTML.replace(/(®)/, '');