我打開了一些電話,但我要洗掉它們,我會在這個中更好地解釋。首先我在努力學習,我以前打掃房子是為了生存,所以如果我有一定的困難或者沒有以理想的速度學習,請原諒,如果這在這個無情的世界里很重要。
來吧,我需要從表格中逐行捕獲并使用 Excel 電子表格中的資訊進行驗證。我不知道是否可以閱讀此作業表的列,但我認為并使用 expect 來捕獲工具提示的文本并根據作業表中寫入的文本進行驗證。
在我朋友 Thomas 發送的這種情況下,我在工具提示中列出了所有文本,但我需要逐個文本獲取文本并進行以下驗證: page.all('tr.tvRow .tvCell:nth-child(6) img [工具提示]').map { |el| el['工具提示'] }
如果可以在下面或多或少地讀取序串列的每一行,因為我也不知道如何獲取我需要的行號
expect(page).to have_css('tr.tvRow .tvCell:nth-child(6) img[tooltip]', exact_text: "Invisível") expect(page).to have_css('tr.tvRow .tvCell:nth- child(6) img[tooltip]', exact_text: "Facultativo") expect(page).to have_css('tr.tvRow .tvCell:nth-child(6) img[tooltip]', exact_text: "Obrigatório") 所以,如果我能得到特定的行,我可以驗證這一行的工具提示的文本,并使用作業表中的文本進行斷言。
[![<td valign="top" colspan="1" rowspan="1">
<div id="AFRAME_790" onm ousedown="event.preventMoving=true;" style="display: inline-block; box-sizing: border-box; min-width: 100%;" class="tv">
<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,'','790','ControlMenu#','','','','','');"><img src="r/std/static/pixel.gif" hljs-string">" draggable="false" onclick="sendEvent(0,event,this,searchImage(this),0,'','790','SelectNone#','','','','','');" alt="有人可以幫我從帶有水豚的表格中選擇行嗎" tooltip="Selecionar Nenhum"><img src="r/std/static/pixel.gif" hljs-string">" draggable="false" onclick="sendEvent(0,event,this,searchImage(this),0,'','790','SelectAll#','','','','','');" alt="有人可以幫我從帶有水豚的表格中選擇行嗎" tooltip="Selecionar todos"> Lista campos
<div onclick="if(notSelecting()) sendEvent(0,event,this,searchImage(this),0,'','790','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,'','790','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 width="100%" hljs-string">">
<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" width="1" hljs-string">">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','790','BtnDropDownRow#',0,'','','');return false;} delete this.cancelEvent;" onclick="if(notSelecting()) sendEvent(0,event,this,true,0,'TVXWFMTGINSTATOCE','790','Select#',0,'','','');" onm ousedown="if(event.ctrlKey) this.cancelEvent=true;" hljs-string">" style="cursor:pointer;">
<td valign="center" align="left" hljs-string">">FLAG_INSERIMENTO_LETTURA_E</td>
<td valign="center" align="left" hljs-string">"> Leitura Existente</td>
<td align="left" hljs-string">" valign="center" nowrap=""></td>
<td valign="center" align="left" hljs-string">"></td>
<td align="left" width="1" hljs-string">" valign="center" tooltip=""></td>
<td valign="center" align="center" hljs-string">"><img tooltip="Invisível" src="r/std/static/minus16.gif"></td>
<td align="center" width="30" style="line-height:1px;padding:0px;" hljs-string">" valign="center">
<div onclick="event.cancelBubble=true;sendEvent(0,event,this,searchImage(this),0,'','790','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','790','BtnDropDownRow#',1,'','','');return false;} delete this.cancelEvent;" onclick="if(notSelecting()) sendEvent(0,event,this,true,0,'TVXWFMTGINSTATOCE','790','Select#',1,'','','');" onm ousedown="if(event.ctrlKey) this.cancelEvent=true;" hljs-string">" style="cursor:pointer;">
<td valign="center" align="left" hljs-string">">XWFMSLETMATRICOLA_E</td>
<td valign="center" align="left" hljs-string">"> No Hidr?metro</td>
<td align="left" hljs-string">" valign="center" nowrap=""></td>
<td valign="center" align="left" hljs-string">"></td>
<td align="left" width="1" hljs-string">" valign="center" tooltip="\[AIMPMATRICOLA\]">
<button onclick="event.cancelBubble=true;sendEvent(0,event,this,searchImage(this),0,'','790','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 valign="center" align="center" hljs-string">"><img tooltip="Invisível" src="r/std/static/minus16.gif"></td>
<td align="center" width="30" style="line-height:1px;padding:0px;" hljs-string">" valign="center">
<div onclick="event.cancelBubble=true;sendEvent(0,event,this,searchImage(this),0,'','790','BtnDropDownRow#',1,'','','','');" hljs-string">">
<div><img src="r/std/icons/menu64.png" hljs-string">" draggable="false" align="absmiddle"></div>
</div>
</td>
</tr>][1]][1]
uj5u.com熱心網友回復:
你不能使用expect(page).to have_css('tr.tvRow .tvCell:nth-child(6) img[tooltip]', exact_text: "Invisível"). 您要查找的文本不是元素的文本內容(textandexact_text選項將與之匹配)它是一個屬性值 - https://www.w3schools.com/html/html_attributes.asp。如果您通過我在上一個答案中發送的學習經驗,您將了解 CSS 屬性選擇器 - https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors - 這將引導您類似
expect(page).to have_css('tr.tvRow .tvCell:nth-child(6) img[tooltip="Invisível"]')
如果您還需要驗證它是否在特定行中,那么您可以使用 CSSnth-child選擇器,例如
expect(page).to have_css('tr.tvRow:nth-child(1) .tvCell:nth-child(6) img[tooltip="Invisível"]')
我真的建議您通過我鏈接到的學習體驗 - https://flukeout.github.io/ - 如果您想使用 CSS 來選擇元素,請學習 CSS。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/495299.html
