1
我在Python中使用Firefox運行Selenium,並試圖在列表中的關鍵字上匹配網頁上的元素。Python Selenium:刪除網頁主體中的某些字符
爲了讓元素查找成功,我需要去除網頁上的一些特殊字符,如®和™。很遺憾,我無法預測何時會使用這些字符,因此我無法將它們添加到問題的「關鍵字結尾」。
我不認爲Selenium或Firefox本身可以從網頁中刪除不需要的字符,但我的想法是讓Selenium在頁面上執行JavaScript並刪除這些字符。那可能嗎?
像這樣的事情想必非工作,僞代碼:
driver.execute_script("document.body.innerHTML.replace(/®/g, '');")
司機試圖之前更換應該發生「讀」的頁面和find_element
。
僅供參考我想擺脫的字符在 text()
節點<td>
整個文檔正文的單元格。
這個工作對我來說:'driver.execute_script(「var replaced = $('body')。html()。replace(/(®)/ g,''); $('body')。html(replaced);」) ',從此[線程](https://stackoverflow.com/a/10550100/4909923)與您的幫助。 – Winterflags
我認爲它更短,更容易閱讀: 'driver.execute_script(「document.body.innerHTML.replace(/(®)/,'');」)' – mostaszewski
我同意你的觀點。但是,在Chrome Javascript控制檯中運行該命令時,它不會重新呈現頁面(儘管我可以在響應控制檯中看到HTML輸出)。也許我錯過了什麼? – Winterflags