朋友們,我必須進行測驗以驗證我無法映射的元素內的文本。我什么都試過了!!該元素是一個工具提示
我通過 xpath 進行了映射,但這太可怕了!!!
我需要驗證狀態列中單元格每個元素的工具提示的所有文本。有沒有更簡單的方法來做到這一點并在不使用 xpath 的情況下映射元素
[![element :txt_tooltip, :xpath, '/html/body/div\[2\]/div/div\[2\]/table/tbody/tr\[3\]/td\[1\]/div/div\[2\]/div\[1\]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr\[2\]/td\[2\]/table/tbody/tr\[2\]/td/table/tbody/tr\[2\]/td/table/tbody/tr/td/div/div\[2\]/div/div/div/table/tbody/tr\[3\]/td\[6\]/img'
get_text_tooltip = txt_tooltip.text
expect(get_text_tooltip).eq ('Somente Leitura')
-Formatted HTML-
<a name="TVXWFMTGINSTATOCE"></a>
<div >
<div style="display:inline-block;width:100%">
<img src="r/std/static/pixel.gif" hljs-string">" draggable="false" onclick="sendEvent(0,event,this,true,0,'','1bfd','ControlMenu#','','','','','');"><img src="r/std/static/pixel.gif" hljs-string">" draggable="false" onclick="sendEvent(0,event,this,searchImage(this),0,'','1bfd','SelectNone#','','','','','');" alt="帶有水豚的地圖元素" tooltip="Selecionar Nenhum"><img src="r/std/static/pixel.gif" hljs-string">" draggable="false" onclick="sendEvent(0,event,this,searchImage(this),0,'','1bfd','SelectAll#','','','','','');" alt="帶有水豚的地圖元素" tooltip="Selecionar todos"> Lista campos
<div onclick="if(notSelecting()) sendEvent(0,event,this,searchImage(this),0,'','1bfd','TMMenu#','','','','','');" style="white-space: nowrap;" hljs-string">"><img src="r/std/icons/menu64.png" hljs-string">" draggable="false"></div>
<div onclick="if(notSelecting()) sendEvent(0,event,this,searchImage(this),0,'','1bfd','CambioLabel#','','','','','');" hljs-string">" style="white-space: nowrap;" tooltip="Editar Label">
<img src="r/std/static/label16.gif" hljs-string">" draggable="false">
<div hljs-string">"></div>
</div>
</div>
</div>
<div>
<div style="" hljs-string">">
<div style="display:table;width:100%; background:inherit;">
<div style="display:table-cell;">
<table hljs-string">" width="100%">
<tbody>
<tr>
<th colspan="1" hljs-string">">Nome</th>
<th colspan="1" hljs-string">">Etiqueta</th>
<th colspan="1" hljs-string">">Tipo Dado</th>
<th colspan="1" hljs-string">">Valores </th>
<th colspan="1" hljs-string">" width="1">Preenchimento automático</th>
<th colspan="1" hljs-string">">Status </th>
<th colspan="1"></th>
</tr>
<tr oncontextmenu="if(!this.cancelEvent) {sendEvent(0,event,this,true,0,'TVXWFMTGINSTATOCE','1bfd','BtnDropDownRow#',0,'','','');return false;} delete this.cancelEvent;" onclick="if(notSelecting()) sendEvent(0,event,this,true,0,'TVXWFMTGINSTATOCE','1bfd','Select#',0,'','','');" onm ousedown="if(event.ctrlKey) this.cancelEvent=true;" hljs-string">" style="cursor:pointer;">
<td hljs-string">" valign="center" align="left">FLAG_INSERIMENTO_LETTURA_E</td>
<td hljs-string">" valign="center" align="left"> Leitura Existente</td>
<td hljs-string">" valign="center" nowrap="" align="left"></td>
<td hljs-string">" valign="center" align="left"></td>
<td hljs-string">" tooltip="" width="1" valign="center" align="left"></td>
<td hljs-string">" valign="center" align="center"><img tooltip="Facultativo" src="r/std/static/ok16.gif"></td>
<td style="line-height:1px;padding:0px;" hljs-string">" width="30" valign="center" align="center">
<div onclick="event.cancelBubble=true;sendEvent(0,event,this,searchImage(this),0,'','1bfd','BtnDropDownRow#',0,'','','','');" hljs-string">">
<div><img src="r/std/icons/menu64.png" hljs-string">" draggable="false" align="absmiddle"></div>
</div>
</td>
</tr>
<tr oncontextmenu="if(!this.cancelEvent) {sendEvent(0,event,this,true,0,'TVXWFMTGINSTATOCE','1bfd','BtnDropDownRow#',1,'','','');return false;} delete this.cancelEvent;" onclick="if(notSelecting()) sendEvent(0,event,this,true,0,'TVXWFMTGINSTATOCE','1bfd','Select#',1,'','','');" onm ousedown="if(event.ctrlKey) this.cancelEvent=true;" hljs-string">" style="cursor:pointer;">
<td hljs-string">" valign="center" align="left">XWFMSLETMATRICOLA_E</td>
<td hljs-string">" valign="center" align="left"> No Hidr?metro</td>
<td hljs-string">" valign="center" nowrap="" align="left"></td>
<td hljs-string">" valign="center" align="left"></td>
<td hljs-string">" tooltip="[AIMPMATRICOLA]" width="1" valign="center" align="left">
<button onclick="event.cancelBubble=true;sendEvent(0,event,this,searchImage(this),0,'','1bfd','AUTOFILLBTN#',1,'','','','');" hljs-string">" tabindex="0" tooltip="Preenchimento automático ativado" type="BUTTON">
<div><img src="r/std/icons/checkboxselected64.png" hljs-string">" draggable="false" align="absmiddle"></div>
</button>
</td>
<td hljs-string">" valign="center" align="center"><img tooltip="Somente Leitura" src="r/std/static/lock16.gif"></td>
<td style="line-height:1px;padding:0px;" hljs-string">" width="30" valign="center" align="center">
<div onclick="event.cancelBubble=true;sendEvent(0,event,this,searchImage(this),0,'','1bfd','BtnDropDownRow#',1,'','','','');" hljs-string">">
<div><img src="r/std/icons/menu64.png" hljs-string">" draggable="false" align="absmiddle"></div>
</div>
</td>
</tr>
uj5u.com熱心網友回復:
你一直問同樣型別的問題,而且似乎沒有從答案中學到任何東西。你真的需要去學習 CSS 選擇器并學習它們 - 嘗試https://flukeout.github.io/并繼續學習,直到你了解所有選擇器型別。
在這種情況下,您顯示的代碼不能單獨作業,因為text當您需要的值實際上在tooltip元素的屬性中時,您就會得到。因此,要么您的代碼不起作用,要么您首先移動滑鼠并且 HTML 正在更改為將該屬性顯示為元素文本內容的內容。
使用 CSS 并獲取所有元素的工具提示值,您可以執行類似的操作
all('tr.tvRow .tvCell:nth-child(6) img[tooltip]').map { |el| el['tooltip'] }
tooltip這將回傳元素屬性值的陣列。從技術上講,您可能會從一開始就洗掉“tr.tvRow”,它仍然可以作業,但比抱歉更安全。您可以在 SitePrism 'elements' 陳述句中使用該 CSS,但在您真正理解 CSS 選擇器之前,SitePrism 實際上只是增加了更多的混亂。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/495305.html
下一篇:如何用隨機元素填充二維陣列?
