FirefoxでPythonでSeleniumを実行していますが、リストのキーワードからページ上のElementsと一致させようとしています。Python Selenium:Webページの本文から特定の文字を削除します
要素検索が成功するには、Webページで®や™のような特殊文字を取り除く必要があります。私は残念なことに、そのような文字がいつ使われるかを予測することができないため、問題の「キーワード終了」にそれらを追加することはできません。
SeleniumやFirefox自体がウェブページから不要な文字を削除することはできませんが、SeleniumにJavaScriptを実行させてその文字を削除させることを考えました。それは可能ですか?ドライバがページを「読んで」とfind_element
しようとする前に交換が起こるはず
driver.execute_script("document.body.innerHTML.replace(/®/g, '');")
:このおそらく非稼働、擬似コードのような
何か。
FYI私が取り除きたい文字は、 text()
のノードにあり、ドキュメント本体のセルには<td>
個のセルがあります。
これは働いていた:あなたはこのようにそれを行うことができます®のみ削除したい場合は
を$( 'body').html(置き換えられた); ")私のために:' driver.execute_script( "var replaced = $( 'body'); '、からこの[スレッド](https://stackoverflow.com/a/10550100/4909923)あなたの助けを借りてください。 – Winterflags
私はそれがずっと短くて簡単に読むことができると思う: 'driver.execute_script(" document.body.innerHTML.replace(/(®)/、 ''); ")' – mostaszewski
私はあなたに同意します。しかし、Chrome Javascriptコンソールでそのコマンドを実行すると、ページを再表示しませんでした(応答コンソールでHTML出力が表示される可能性があります)。多分私は何かを欠いているでしょうか? – Winterflags