2016-09-02 3 views
0

In ein paar Tagen versuche ich einen Selenide-Test für einen Datenstrukturbaum zu schreiben. Ich blieb bei expandierenden Baumknoten stecken, Hauptsache, es gibt eine Menge TreeExpandoIcons der gleichen Klasse, keine ID, Text, Typ und so weiter.selenide data structure tree expand

<tbody> 
<tr> 
<td title="Control + right arrow key to expand this row." aria-expanded="false" aria-readonly="true" role="gridcell" tabindex="-1" aria-describedby="RestartPageGrid-Id" colid="Id" class="gridxCell" style="width:auto;min-width:auto;max-width:auto;"> 
<div class="gridxTreeExpandoCell " style="padding-left: 16px;"> 
<div class="gridxTreeExpandoIcon " style="margin-left: 0px;"> 
<div class="gridxTreeExpandoInner">+</div></div> 
<div class="gridxTreeExpandoContent gridxCellContent">1</div> 
</div> 
</td> 

Es gibt immer nur einen Unterschied zwischen Symbolen, in der Nähe von Symbol gridxCellContent Zahl ist. Aber es ist nur in der Nähe und es ist nicht anklickbar. Vielleicht kennen Sie eine Problemumgehung oder wie Sie dieses Problem lösen können? Ich wäre sehr dankbar.

Mein Selenium IDE bietet, wie dies zu schreiben:

<tr> 
    <td>click</td> 
    <td>css=div.gridxTreeExpandoIcon.</td> 
    <td></td> 
</tr> 

Aber dieser Code funktioniert nicht.

Antwort

0

Es gibt wenige Fragen, die ich habe: 1. Haben Sie versucht, die letzte (.) In der CSS-Selektor zu entfernen? 2. Auch ich sehe, dass "gridxTreeExpandoIcon" -Klasse ein nachstehendes Leerzeichen hat. Sind Sie bewusst, dass in css-Selektoren enthalten ist? 3. Haben Sie versucht, eine andere Standortstrategie zu verwenden? wie xpath, // div [enthält (@ Klasse, 'gridxTreeExpandoIcon')]

+0

Danke, für den Versuch, mir zu helfen. Ich sollte ClickAt() anstelle von Click() verwenden. – Satnam

+0

@satnam ein Feedback zu meinen Fragen? Wie 'ClickAt()' es löste. Bitte fügen Sie eine Erklärung hinzu. Wenn meine Antwort irgendwie hilfreich wäre, dann bitte, upvote. – stupidnetizen