HTMLをCanopyで保存することはできますか? 'Getting Started'のドキュメントを見ると、関連するものが見つかりませんでした。あなたはjs
を使用して任意のJavaScriptを実行することができCanopyを使用して生成されたHTMLを保存する
答えて
、document.documentElement.outerHTML
はそう
let html = js "return document.documentElement.outerHTML" |> string
は、トリックを行い、現在のDOMが返されます。
Canopyは、便利なヘルパー機能を提供するSeleniumのラッパーです。しかし、それはまた、element
functionを経由してセレンのIWebElement
インスタンスへのアクセスを提供します(ページの途中で、そのページに内部アンカーがないので、直接関数にリンクすることはできません)。次に、IWebElement
オブジェクトを取得したら、問題はelem.getAttribute("innerHtml")
と思われるthis oneに似ています。ここで、elem
はコンテンツが必要なエレメントです(html
の場合もあります)。 innerHtml
属性はであり、標準のDOM属性ではないため、これはすべてのSeleniumドライバでは機能しません。どのブラウザを使用しているかに依存します。しかし、明らかにすべての主要なWebブラウザで動作します。
innetHtml
属性がすべてのブラウザで機能するかどうかについて、より多くの議論があるPythonを使用して関連する質問についてはGet HTML Source of WebElement in Selenium WebDriver using Pythonを参照してください。そうでなければ、Canopy でもにはjs
という機能があります。この機能を使用すると、探しているHTMLを取得するためにJavascriptを利用することができますが、問題がある場合は、 F#の質問ではなくJavascriptの質問。
'let html = element" html "|> string'を追加しようとすると、生成されたHTMLページにhtml要素があるはずなので、奇妙な' NoSuchWindowException'がスローされます。 – bugfoot
ブラウザでそのページを読み込んだ後、開発者ツールを開いてその内容を見るとどうなりますか?それは "html"要素を持っていますか? – rmunn
また、なぜあなたは '|> string'をやっていますか?アイデアは、 'IWebElement' **オブジェクト**を保持し、そのプロパティを使用することです。それを文字列に変換することは非生産的に見えます。 – rmunn
- 1. BeautifulSoupを使用してローカルに保存されたhtmlファイルから生のHTMLを抽出する
- 2. htmlでグラフを生成し、画像として保存する
- 3. pdfファイルに保存された情報を含むHTMLレポートを生成する
- 4. PHPで生成されたHTMLページのコンテンツをダウンロード/保存する方法は?
- 5. PHPで$ _SESSIONに保存された配列からHTMLテーブルを生成する
- 6. セレンを使ってPythonで生成されたログを保存するには
- 7. htmlエディタのコンテンツを使用してhtmlページを生成し、ルートフォルダに保存する方法
- 8. py.testを使用して生成されたhtmlレポートファイルをカスタマイズする方法は?
- 9. php - htmlテーブルを使ってpdfを生成し、ファイルサーバに保存する
- 10. scipy.io.savematを使用してネストされたリストを保存する
- 11. javaを使用してコマンドを実行し、生成された出力を別のディレクトリに保存します。
- 12. ランダムに生成されたデータをラベルに保存します
- 13. 生成されたPDFファイルをazureに保存します。
- 14. ダイアログボックスで生成されたExcelファイルを保存します
- 15. Javascriptで生成されたテキスト入力の値を取得し、.Netを使用して保存します。C#
- 16. htmlページをレンダリングしてコマンドラインを使用して保存する
- 17. react-native-qrcodeを使用して生成されたQRコードを保存する方法
- 18. 保存されたphpが生成したExcelを反応させて
- 19. PCLCRYPTOによって生成されたデータを保存
- 20. 生成されたPNGファイルをSQL Serverに保存する
- 21. nxpdで生成されたグラフプロットを保存する
- 22. AJAXスクリプトで生成されたファイルを保存する
- 23. Androidで自動生成されたGUIを保存するアクティビティ
- 24. Matlab Guiで生成された画像を保存する
- 25. ボタンで生成された文章を保存する
- 26. Reflection.Emitを使用してコードを生成し、生成されたコードを.csファイルに保存できますか、CodeDomを使用できますか?
- 27. コアデータにparent - > childrenリレーションシップを使用して動的に生成されたJSONデータを保存しますか?
- 28. pyMongoを使用してmongodbに保存されたデータをmongodbに保存
- 29. R:リストでループ内で生成されたプロットを保存し、
- 30. Qtを使用してHTMLを生成
あなたの答えが見え、有望な振る舞いが、問題はすなわち、それはデフォルトのwebdriverをページの生成されたHTMLコードを返すことである「
残念ながら、この問題の(単一の)解決策はありません。一般的には、ページ(JavaScriptを含む)のロード/実行が完了したかどうか、または(setTimeoutなどの)待っているアクションや無限のアニメーションだけがあるかどうかを判断することはできません。あなたがページを知っているなら、いくつかの指標を待つことができます: 'waitFor'、' waitForElement'を見てください。 'waitFor(fun() - > js" return document.readyState "|> string =" complete ")' とにかく、これは別の質問でなければなりません。 – CaringDev
実際、私は[IEの必須設定](https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration)を見落としました。すべての設定と 'waitFor'コードで、実際に_generated_ HTMLを保存することができます。大変感謝しています:-) – bugfoot