1

我可以通過driver.find_element_by_xpath('//*[@id="app"]/table/tbody/tr[1]/td[1]')的xpath找到元素。但任何方式,我可以返回所有的孩子元素,如標籤和標籤xpath?使用python中的selenium webdriver從父xpath中找出所有的子元素xpath

<tr> 
    <td class=""> 
     <div> 
      <a href="/user/1"> 
       <!-- react-text: 6011 -->user first name | 
       <!-- /react-text --> 
       <!-- react-text: 6012 --> 
       <!-- /react-text --> 
       <!-- react-text: 6013 -->user last name 
       <!-- /react-text --> 
      </a> 
      <div> 
       <span> 
      <!-- react-text: 6014 -->town<!-- /react-text --> 
      <!-- react-text: 6015 --> | <!-- /react-text --> 
      <!-- react-text: 6015 -->month<!-- /react-text --> 
      <!-- react-text: 6081 --> | date<!-- /react-text --> 
      <!-- react-text: 6082 -->year<!-- /react-text --> 
      </span> 
      </div> 
     </div> 
    </td> 
    <td class=""><a href="/address/1">1</a> 
     <div class="">city</div> 
    </td> 
</tr> 
+0

只是爲了闡明,您需要當前WebElement的所有子元素? –

回答

1

的關鍵是使用XPath .//*獲得所有當前節點的孩子。 .選取當前元素& //*選擇所有元素,這使得整個xpath選擇當前元素的所有子元素。您的代碼如下所示:

parent_elem = driver.find_element_by_xpath('//*[@id="app"]/table/tbody/tr[1]/td[1]') 
child_elements = parent_elem.find_elements_by_xpath('.//*') 
+0

我能夠找到所有的child_elements,但是,我想有一個類似於列表的東西包含所有的子元素xpath [,..] – jacobcan118

+0

真的沒有通用的取方法一個xpath因爲一個元素沒有1個xpath。可以有很多方法來獲取元素xpath。 –

相關問題