2016-07-29 7 views
-1

Alles, ich bin sehr neu zu Selen und Programmierung im Allgemeinen. Ich bin dabei, eine Website zu automatisieren. Ich benötige Hilfe, wie ich ein Element finden und klicken kann, das auf dem Text mehrere Tags im HTML-Code basiert.So finden Sie ein Element basierend auf Text mehrere Tags tief in Selen

Ich suche nach dem Element, das den Text TEXT DISPLAYED IN BROWSER im folgenden HTML-Code hat. Ich kann das Element finden, wenn ich "Element durch ID suchen" auf <div id="appt-24175027" class="grid-row pointer">, aber das Problem ist die ID appt-24175027 ändert sich dynamisch.

Im HTML-Code, den ich für die folgende Suche ...

1st ELEMENT/TEXT DISPLAYED IN BROWSER 
2nd ELEMENT/TEXT DISPLAYED IN BROWSER 
3rd ELEMENT/Text DISPLAYED IN BROWSER 

mir jemand Kann in die richtige Richtung?

HTML:

<script type="text/javascript"> 
<script type="text/javascript"> 
<div id="content" class="content"> 
<div class="grid-container started"> 
<div id="started-block" class="grid-header pointer"> 
<div class="grid-header-icon"> 
<div class="icon-started"> 
<div class="inner"></div> 
</div> 
</div> 
<div id="appt-24175027" class="grid-row pointer"> 
<div class="cell cell-content"> 
<div class="main-field"> 
<span style="color:#000000">TASK ACTIVE</span> 
</div> 
</div> 
</div> 
</div> 
</div> 
<div class="grid-container pending expanded"> 
<div id="pending-block" class="grid-header pointer"> 
<div class="grid-expander"> 
<div class="inner"></div> 
</div> 
<div class="grid-header-icon"> 
<div class="icon-pending"> 
<div class="inner"></div> 
</div> 
</div> 
<div class="grid-header-title">Pending (5)</div> 
</div> 
<div id="pending-grid" class="grid-body"> 
<div id="appt-24181299" class="grid-row pointer"> 
<div class="cell appt-color" style="border-top: 1px solid rgb(255, 244,   0);border-right: 1px solid rgb(204, 177, 0); background: #FFDE00;"></div> 
<div class="cell cell-content"> 
<div class="main-field"> 
<span style="color:#000000"></span> 
</div> 
</div> 
</div> 
<div id="appt-24180104" class="grid-row pointer"> 
<div class="cell appt-color" style="border-top: 1px solid rgb(255, 244, 0);border-right: 1px solid rgb(204, 177, 0); background: #FFDE00;"></div> 
<div class="cell cell-content"> 
<div class="main-field"> 
<span style="color:#000000"> 1st ELEMENT/TEXT DISPLAYED IN BROWSER</span> 
</div> 
</div> 
</div> 
<div id="appt-24175024" class="grid-row pointer"> 
<div class="cell appt-color" style="border-top: 1px solid rgb(255, 224,  168);border-right: 1px solid rgb(204, 163, 122); background: #FFCC99;"></div> 
<div class="cell cell-content"> 
<div class="main-field"> 
<span style="color:#000000"> 2nd ELEMENT/TEXT DISPLAYED IN BROWSER</span> 
</div> 
</div> 
</div> 
<div id="appt-24175025" class="grid-row pointer"> 
<div class="cell appt-color" style="border-top: 1px solid rgb(255, 224, 168);border-right: 1px solid rgb(204, 163, 122); background: #FFCC99;"></div> 
<div class="cell cell-content"> 
<div class="main-field"> 
<span style="color:#000000">3rd ELEMENT/Text DISPLAYED IN BROWSER</span> 
</div> 
</div> 
</div> 
<div id="appt-24175026" class="grid-row pointer"> 
</div> 
+0

Könnten Sie sagen, welches Element Sie sind Suche mit Text span oder div oder irgendetwas anderes ?? –

+0

Wie ich sehe, sind alle Ihre Fragen noch nicht akzeptiert, während die angegebene Antwort Ihr Problem gelöst hat. Sie müssen [die Antwort akzeptieren] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer (Arbeit) auch, wenn es geholfen hat .. :) –

Antwort

0

XPath Sie einfach <div class="grid-row pointer"> mit inneren Text wie unten finden können:

//div[@class = 'grid-row pointer' and contains(.,'1st ELEMENT/TEXT DISPLAYED IN BROWSER')] 

//div[@class = 'grid-row pointer' and contains(.,'2nd ELEMENT/TEXT DISPLAYED IN BROWSER')] 

//div[@class = 'grid-row pointer' and contains(.,'3rd ELEMENT/TEXT DISPLAYED IN BROWSER')] 

Hoffe, es hilft .. :)

+0

der obige Code funktioniert perfekt! – th2112

Verwandte Themen