Web要素の背景色を取得したいと思います。私はルビー/カピバラの正確なコマンドが同じかどうかわからない。 私たちのアプリケーション自動化では、Ruby、Selenium、およびCapaybaraを使用しています。rspec、ruby、capybaraを使ってWeb要素の背景色を取得します
2
A
答えて
0
私はcapybara
を理解する限り、ノード操作のために開発されたものではなく、要素の検索/マッチングを利用しています。この目的のためにnokogiri
を使用することを提案します。
Capybara::Node::Elementは、値とテキストプロパティのみを提供します。
+0
NokogiriはCSSを処理しないので、背景色がインラインスタイル属性で定義されていて、OPがそのインラインスタイル属性を解析する必要がある場合にのみ機能します –
0
Capybaraは要素の完全なスタイルに直接アクセスすることはできませんが、evaluate_script
を使用してアクセスできます。要素にidを持っていない、明らかにあれば、あなたの要素を配置する別の方法にwindow.getElementByIdを変更する必要があるだろう -
page.evaluate_script("window.getComputedStyle(document.getElementById('my_element_id'))['background-color']")
のようなものは、あなたが探しているものを返す必要があります。あなたがセレニウムを使っているので、他のドライバーとはうまくやらないメソッドを使い、既にCapybaraの要素を見つけたら、以下のようなことができます。 DOM内の要素をJSから再度検索する方法を理解する
el = page.find(....) # however you've found the element in Capybara
page.driver.browser.execute_script("return window.getComputedStyle(arguments[0])['background-color']", el.native)
関連する問題
- 1. tspan要素の背景色
- 2. JQueryはグラデーションを使ってdivの背景色を取得します
- 3. JavaScriptで「背景色:背景」 - 色を取得するには?
- 4. Capybara/Rspecが複数の要素をテストしていますか?
- 5. QTPでCSSを使用して背景色を取得する
- 6. ビューポートの背景またはボディタグの背景色に子要素の背景色(透明)を作る方法
- 7. ウィンドウの背景色を取得する
- 8. レイアウトの背景色を取得する
- 9. javascriptを使用して要素の背景を取得する方法
- 10. セレン/ロボットフレームワークの要素の背景色
- 11. HTML要素を別の背景色にアニメーション化します。
- 12. 動的背景色を取得し、LESSを使用して別の要素に適用
- 13. UIWebView htmlから背景色を取得していますか?
- 14. デフォルトの背景色を取得
- 15. テキストボックスの背景色を取得
- 16. Javascriptを使用してCSSの要素の背景色を変更する
- 17. 要素に背景色を一般的に設定します
- 18. 配列インデックスを使用して要素の背景色を変更する
- 19. 背景色が設定されていないと、Androidは親ビューの背景色を取得します
- 20. Rspec/Capybara、[Rails 3.1.1、Ruby 1.9.3]
- 21. 同じクラスのすべての要素の背景色を変更します
- 22. ap要素の背景色を設定すると、上の画像の背景色も設定されます
- 23. Capybara Rspec RailsがパスIDを取得
- 24. 背景色を取得して他のウィンドウで同じ色を適用する
- 25. 困ったことに、divを取得して背景色を取得することはできません
- 26. jqueryを使用してスタイルシートから背景色を取得するには
- 27. 代替要素の背景色を変更する
- 28. タッチ時にp要素の背景色を変更する
- 29. ネストされたリスト要素の背景色を設定する
- 30. html5 progress要素の背景色をアニメーション化する
要素のいくつかの詳細を分けてください。同じものの可能なHTMLコード。 – nullpointer
特定の属性を取得できるかどうかはわかりませんが、cssクラスで定義されている場合は取得できます。 –