使用硒查找空的输入框

问题描述

我在具有以下xPath的网页上有多个输入框:

//*[@id="swatch-visual-options-panel"]/table/tbody/tr[1478]/td[4]/input

//*[@id="swatch-visual-options-panel"]/table/tbody/tr[1480]/td[4]/input

//*[@id="swatch-visual-options-panel"]/table/tbody/tr[1481]/td[4]/input

其中一个是空的,其他所有文本都在其中。 您可能已经猜到,以前的xPath模式有1481个元素,但是我只想找到空的元素。

如何在Python中执行此操作?

解决方法

您将抓住所有tr,然后遍历它们,找到空的trs。

trs = driver.find_elements_by_xpath("//*[@id='swatch-visual-options-panel']/table/tbody/tr")
lst=[]
for tr in trs:   
    elem = tr.find_element_by_xpath("/td[4]/input")
    if(len(elem.text)==0):
       lst.append(elem)
,

在网页上的多个输入框中,可以找到<input>元素(不带任何文本),您可以使用以下基于Locator Strategy

//*[@id="swatch-visual-options-panel"]/table/tbody/tr[1481]/td[4]/input[not(contains(text()))]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...