2016-07-29 9 views
-1

すべて、私は非常にセレンとプログラミング一般に新しいです。私はサイトを自動化することに固執しています。私はどのようにHTMLコードにいくつかのタグをテキストに基づいて要素を見つけてクリックする方法についていくつかの助けが必要です。セレンの深いいくつかのタグに基づいて要素を見つける方法

次のHTMLコードに、TEXT DISPLAYED IN BROWSERのテキストが含まれている要素を探しています。私は <div id="appt-24175027" class="grid-row pointer">に "find element by id"を使用すると要素を見つけることができますが、問題はID appt-24175027が動的に変更されることです。私は、次のを探していますHTMLコードで

...

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

誰かが正しい方向に私を指すことができますか?

HTML:XPathを使用し

<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

あなたはあなたがどの要素言うことができますテキストスパンやdivなどを使って探していますか? –

+0

あなたのすべての質問はまだ受け入れられていませんが、回答があなたの問題を解決している間は、あなたは[回答を受け入れる]必要があります(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer -work)も役に立ちました。:) –

答えて

0

あなたは、単に以下のように内部テキストを使用して<div class="grid-row pointer">を見つけることができます。

//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')] 

は、それが...お役に立てば幸いです:)

+0

上記のコードは完璧に機能します! – th2112

関連する問題