如何过滤掉隐藏的元素

dirver.find_element_by_xpath('//form//input[@class=\'el-input__inner\'and not(contains(@style,\'display:none\'))]'

为永安等地区用户提供了全套网页设计制作服务,及永安网站建设行业解决方案。主营业务为成都网站制作、成都网站设计、外贸营销网站建设、永安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

注意 not(contains(@style,\'display:none\'))就是过滤掉隐藏的元素,但是这种情况使用于元素本身有 这个属性,如果它的父元素或者父父元素有这种属性,它自己本身没有,那么这种写法是过滤不掉隐藏的元素的

还有一种比较可靠的方法,如下所示
from  selenium.webdriver.support import  expected_conditions as EC
from selenium.webdriver.common.by import By
ec = EC.visibility_of_any_elements_located((By.XPATH,'//form//div[@class=\'el-row\']//input[@class=\'el-input__inner\']'))
elements = ec(driver)


分享标题:如何过滤掉隐藏的元素
本文URL:http://ybzwz.com/article/pcesge.html