簡體   English   中英

如何獲取顯示文字:硒中沒有元素

[英]How to get text of a display:none element in selenium

我有一個具有display:none的ID的div類。我需要從ID中獲取文本。

我已經嘗試過使用javascript executor。 但我沒有從ID中獲取文本值。

SelenideElement element = $$("[class*=abc]");
JavaScriptExecutor js = (JavaScriptExecutor) driver;
js.executeScript("return arguments[0].innerHTML;", element);

這是HTML代碼。 文本的test-id隱藏。

< div class = "abc 1frr">
 <div class = "efg-ghj">
<div class = "kjs-w4ejd">
 <div class = "dfdfdf_fjjks"></div>
<div class ="_s8js3244" test-id="aaa-bbb">Hello</div>
</div>
</div>
< div class = "abc 1frr">
 <div class = "efg-ghj">
<div class = "kjs-w4ejd">
 <div class = "dfdfdf_fjjks"></div>
<div class ="_s8js3244" test-id="aaa-bbb">How</div>
</div>
</div>
< div class = "abc 1frr">
 <div class = "efg-ghj">
<div class = "kjs-w4ejd">
 <div class = "dfdfdf_fjjks"></div>
<div class ="_s8js3244" test-id="aaa-bbb">are</div>
</div>
</div>
< div class = "abc 1frr">
 <div class = "efg-ghj">
<div class = "kjs-w4ejd">
 <div class = "dfdfdf_fjjks"></div>
<div class ="_s8js3244" test-id="aaa-bbb">You</div>
</div>
</div>

我期望輸出得到Hello,How,are,You。由於元素隱藏,我看到除此test-id文本值之外的所有其他值。

我會感激任何人都可以幫助我。

如果要從屬性中選擇文本,請參考使用Selenide縮小搜索條件。 現在,我看到您正在傳遞Selenide元素集合($$)。 當您嘗試按ID查找時(如上所述),您也正在提供一個集合。 如果要獲取全文(您的期望),請參考較高的div類/ id,並使用$(higher_div_element).getText()String neededText = $("[class='abc 1frr']").parent().getText(); 提示:當有很多其他選擇時,請盡量不要將Selenide與JS混合使用。 始終有可能使用硒化物獲得元素文本或值。 為了給您更多建議,請發送更大的HTML代碼(少數屬性在上方)

如果您真的想使用硒化物集合(我不建議您獲取文本),則可以簡單地編寫如下內容: int elementSize = $$("[test-id='aaa-bbb'").size(); -現在得到4,只需進行一個for循環並將變量傳遞給:

$$("[test-id='aaa-bbb'").get(i).getText();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM