2017-09-13 54 views
0

XX...」(詳見截圖) 我怎麼能找到的webdriver的溢出text/element當文本屬性設置爲</p> <pre><code>text-overflow: ellipsis; </code></pre> <p>溢出的文本將顯示爲如何測試文本溢出元素

在此先感謝

Screenshot of Overflowed text

+0

你試過了什麼? – Aby

+0

我使用xpath「// span [string-length(text())> 2]」來查找文本長度> 2的元素。但是,我測試的是多語言應用程序,「> x」規則沒有始終適用於其他語言。所以我想知道是否有更好的方法來找到溢出的元素 – vChen

回答

0

可能做到這一點的最簡單/最好的方法是使用JS innerText屬性,例如

driver.findElement(lcoator).getAttribute("innerText"); 

如果我沒有記錯,一些瀏覽器使用textContent來代替。

driver.findElement(lcoator).getAttribute("textContent"); 

這應該讓你在該元素內的全文。

您也可以拉動innerHTML並解析它(如果需要)或從元素中刪除text-overflow樣式,但這些更難/更復雜。

+0

感謝您的回覆。是的,我能夠使用getAttribute(「innerText」)獲取innerText,但提取的文本是全文,我仍然不知道它們是否溢出或不...我正在測試多語言應用程序,如果我使用「text()> x」來檢查文本是否溢出,那麼我需要爲不同的語言使用不同的x ......有什麼方法可以知道文本是否溢出? – vChen

+0

我不認爲我明白你在測試什麼。你不能只檢查最後一個字符是否是省略號,然後檢查innerText並確保長度與溢出文本不一樣?聽起來你最終會驗證CSS屬性是否正常工作。 – JeffC

相關問題