2016-06-17 25 views
1

webdriverを使用して要素を削除しようとしています。Webdriver:jsを使用してelementyを削除する方法

残念ながら、WebDriver要素にはremoveメソッドがありません。

私はその親

child.findElement(webdriver.By.xpath("./..")) 
       .then((parent) => { 
        parent.remove(element); 
       }); 

私はchildを削除することができますどのように任意の提案を使用して要素を削除しようとしましたか?また、親要素を取得する簡単な方法はありますか?

+0

JavaScriptExecutor in Seleniumは、JavaScriptの実行に役立ちます。私はPythonのセレニウムバインディングを知りません。しかし、execute_scriptコマンドが必要で、Javascriptをそこに送ることができます。 JSがノードを削除するには、http://www.w3schools.com/js/js_htmldom_nodes.aspを参照してください。 – virusrocks

答えて

2

残念ながらelementは自殺できません。親はそれを殺さなければならないでしょう。

./の必要がないように、現在の要素を自動的に呼び出しているので、Xpathchild.findelement(webdriver.By.xpath(".."))に変更できます。

elementを削除する別の方法は、javascriptコマンドを手動で実行することです。

driver.executeScript("arguments[0].parentNode.removeChild(arguments[0]);", child); 
関連する問題