根据您之前的问题,我假设您使用的是 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'
请注意在代码中:
- Capybara 使用
page.first('p')
native
用于获取 selenium-webdriver 元素
css_value
用于获取计算的样式。请注意,css_value 方法必须传递参数“border-style”而不是简写“border”。
更新:
对于您的具体示例:
- 似乎如果您使用速记“边框”属性,“边框样式”属性将为空白。相反,您必须使用特定的“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"