0

現在、ページ上ですべてのコントロールIDが動的に生成されます。そして、テーブルを反復処理するために、Javaスクリプトによって生成されたその行GUIDを取得する必要があります。

例えば

<table id="tblPass" bgcolor="#ffffff" editmode="Full" style="width: 100%;">
<tr id="87425hdsfs98-38ad-48df-aa7b-j5jf94hs0l" class="passenger"> 
<td class="dragcolumn Adult pass">
<span class="PersonType"> Adult </span>
</td>

行のIDが必要なので、そのIDに基づいて列に詳細情報を入力できます。そのIDを除いて、行のすべての情報は同じです。セレンを使用してこのIDを取得する方法についてのアイデア。ご案内ください。

更新:私はセレンRCを使用しています

4

1 に答える 1

1

最初に要素を見つける必要があるので、次のようになります。

var element = driver.FindElement(By.CssSelector("tr.passenger"));
var rowID = element.GetAttribute("id");
/* RowID would be "87425hdsfs98-38ad-48df-aa7b-j5jf94hs0l" */

RCを使用していると編集しました。これは、次のようになります。

var id = selenium.GetAttribute("css=tr.passenger@id");

そもそもそれを特定することに関しては、あなたは外向きに取り組む必要があります。

つまりtr、例で親が必要な場合は、次のXPathを使用します。

//span[text()='Adult']/ancestor::tr

これで要素が取得され、IDを照会します。

于 2013-03-14T11:45:44.893 に答える