我在python上使用splinter模块。我需要检查一个元素在页面上是否可见,而且看似唯一的告诉方式是style="display: none;"
,我无法找到检测方法。
如何检查?
答案 0 :(得分:1)
如果您需要检查元素是否可见,请使用.visible
attribute:
browser.find_by_css('h1').first.visible
请注意.visible
基于is_displayed()
python-selenium方法,该方法基于this WebDriver specification"自然"处理style="display: none;"
案例等。
如果您因为某些原因需要使用style
值来定位元素,那么您当然可以通过使用CSS选择器来实现:
browser.find_by_css('[style="display: none;"]')
但这通常很脆弱,你应该寻找其他方法来找到这个元素。
请记住,您也可以始终找到多个元素,然后仅过滤不可见元素,例如:
for h1 in browser.find_by_css('h1'):
if not h1.visible:
# found an invisible h1 here