2017-01-31 9 views
-2

グリッド番号が表示された主キーと一致しないウェブサイトがあります。 たとえば、許可ベースの番号スキップのために、グリッド内の30番目の要素だけの場合、キーはテーブルの要素が番号42であることをユーザーに通知します。 セレンのグリッド番号ではなく、プライマリキーに基づいて選択する最良の方法は何ですか?セレンのグリッド番号ではなく、内容でグリッド要素を見つける方法

明確化:最良の方法だろう何

...

アイスクリームが driver.findElement(By.xpath("//*grid-0"); ホットドッグ=グリッド-1 などを使用して選択することができ 6 Ice Cream 11 Hot Dog 24 Cheeseburger 25 Double Cheeseburger 26 Salad

: は私のグリッドはこのようになりますと言います代わりにキー(6)の内容でアイスクリームを選択するのですか?

私は

driver.findElement(By.xpath("//*grid-0")).getText().contains("6"); 

を使用して、グリッド全体を反復処理することができますが、その後、私が代わりにちょうどアイスクリームの、その中の6ですべての要素を配置する問題を持っている、と私はページ全体を横断する必要がありそれは本当に非効率的です。

アイデア?

答えて

0

お試しください。

driver.findElement(By.xpath("//*[contains(text(), '6 ')]")); 
+0

ああ、賢い、その後のスペースを使って、しかし、私はまだそれが文字列 '16'を登録するかもしれないかのように感じる。私は後にスペースを追加しようとしますが、私はそれが十分であるかのように感じます!ありがとう! –

0

私は次のように起こって巻き取る:私はこの結論に到達助けるためRavi MCAdriver.findElement(By.linkText("regexp:.* 6 *")).click();

感謝を!

EDIT:この解決策はセレニウムIDEでのみ機能します。明らかにwebdriverはregexp:を解釈します。リテラルとして。

関連する問題