如何过滤掉隐藏的元素

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)

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/192369.html

(0)
上一篇 2021年11月15日 00:56
下一篇 2021年11月15日 00:56

相关推荐

发表回复

登录后才能评论