1
我正在處理的元素有時包含自己的文本,有時包含文本的跨度。我在我的程序生成的XPath得到我需要根據title屬性的元素,所以我使用的模板是這樣的:如果孩子存在,則XPath選擇子項,否則選擇父項
//div[@class='grid-canvas']//*[@title='Row %d column %s']
這完全適用於擁有自己的文本元素。但是,如果他們保持文本孩子跨度裏面,然後我不得不改變我的XPath模板:
//div[@class='grid-canvas']//*[@title='Row %d column %s']/span
我真的只是想用一個模板,我的XPath。因爲我不是希望父,如果沒有孩子,或者孩子元素(這是一個跨度)如果存在的話,我想是這樣.[not(node())] | span
應該工作,所以我嘗試這樣的:
//div[@class='grid-canvas']//*[@title='Row %d column %s']/.[not(node())] | span
但沒」工作。我無法弄清楚我錯過了什麼。我究竟做錯了什麼?