我試圖通過在打開的瀏覽器上執行JavaScript來刪除類「RemoveByMe」中的所有元素。我以前自己創建了這些元素。使用JavaScript從打開的Web瀏覽器中刪除元素
我從Python中調用該JavaScript:Selenium控制瀏覽器,並將JavaScript發送到打開的瀏覽器。但我認爲這個問題依賴於JavaScript方面,下一行的原因。
執行每個腳本的Python代碼是:
Browser.execute_script("script here")
到目前爲止,我已經嘗試下面的JavaScript代碼:
$('.RemoveByMe').remove();
這一個提供了以下錯誤信息:
#WebDriverException: Message: u'$ is not defined' ; Stacktrace:
at anonymous
這個錯誤似乎來自python方面,所以我測試了更多的javascript代碼:
var DocElements = document.getElementsByTagName('RemoveByMe');for(var i = 0; i < DocElements.length; i++){DocElements[i].parentNode.removeChild(DocElements[0]);}
這一個沒有拋出任何錯誤(確認python方面工作),但仍然不刪除元素。 (javascript無法刪除它們)
所有測試的JavaScript代碼都可以在某些網站上運行,但它並不是in some others。 這讓我覺得問題在於網站,阻止javascript去除元素。 (雖然我可以成功添加它們)
我怎麼能跳過這種預防?
謝謝。是的,它實際上是「by_Tag」,「by_Class」和我正在搜索的真實類名之間的一個錯誤匹配。感謝您指出,這使我重新尋找所有這些,並解決它:) –
沒有問題,很高興你解決了它。 – jwwishart