以前の質問に基づいて、selenium-webdriverを使用していると想定しています。
ネイティブのselenium-webdriver要素には、計算されたスタイルをチェックするメソッドがあります-Element#css_value。
次のページHTMLがある場合:
<html>
<body>
<p style="border-style:solid;">A solid border.</p>
</body>
</html>
次に、次を使用して境界線スタイルを取得できます。
puts page.first('p').native.css_value('border-style')
#=> 'solid'
コードで次のことに注意してください。
- カピバラは、を使用して目的の要素を見つけます
page.first('p')
native
selenium-webdriver要素を取得するために使用されます
css_value
計算されたスタイルを取得するために使用されます。css_valueメソッドには、省略形の「border」ではなく、パラメーター「border-style」を渡す必要があることに注意してください。
アップデート:
あなたの特定の例のために:
- 省略形の「border」プロパティを使用すると、「border-style」プロパティは空白になるようです。代わりに、特定の「border-bottom-style」、「border-left-style」などのプロパティを使用する必要があります。
- 要素のIDがわかっているので、次を使用してCapybara要素を取得できます。
page.find_by_id('option')
上記を考慮して、以下を使用して計算された境界線スタイルを確認できます。
puts page.find_by_id('option').native.css_value('border-bottom-style')
#=> "solid"
puts page.find_by_id('option').native.css_value('border-left-style')
#=> "solid"
puts page.find_by_id('option').native.css_value('border-right-style')
#=> "solid"
puts page.find_by_id('option').native.css_value('border-top-style')
#=> "solid"