我在 Python 中使用 Firefox 运行 Selenium,我试图通过列表中的关键字匹配页面上的元素。
为了元素查找成功,我需要去除网页上的一些特殊字符,如 ® 和 ™。不幸的是,我无法预测何时使用此类字符,因此我无法将它们添加到问题的“关键字结尾”。
我不认为 Selenium 或 Firefox 本身可以从网页中删除不需要的字符,但我的想法是让 Selenium 在页面上执行 JavaScript 并删除这些字符。这可能吗?
类似这样的东西可能是无效的伪代码:
driver.execute_script("document.body.innerHTML.replace(/®/g, '');")
替换应该在驱动程序尝试“读取”页面和 find_element
之前发生.
仅供引用,我想删除的字符在 <a>
中text()
<td>
中的节点文档正文中的单元格。
最佳答案
ASCII 的范围是 0 到 127,所以你可以这样做:
document.body.innerHTML.replace(/[^\x00-\x7F]/g, '');
如果你只想删除 ® 你可以这样做:
document.body.innerHTML.replace(/(®)/, '');
关于javascript - python Selenium : Remove certain characters from web page body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46389567/