问题描述
我在具有以下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>
元素(不带任何文本),您可以使用以下基于xpath的Locator Strategy:
//*[@id="swatch-visual-options-panel"]/table/tbody/tr[1481]/td[4]/input[not(contains(text()))]