2
人間が読めるID /リファレンスがないフォームフィールドからの値の入力/読み取りに最適な方法を探しています。Seleniumは不正なIDを持つフォームフィールドにアクセスします
基本的なアウトラインは
<div id="form-2143">
<div id="numberfield-1234">
<label id="numberfield-1234-label">
<span class="x-form-label">Field Name 1</span>
</label>
<div id="numberfield-1234-body">
<div id="numberfield-1234-wrap">
<input id="numberfield-1234-input" class="form-field" componentid="numberfield-1234">
</div>
</div>
</div>
...
</div>
のように見える「基本は」私が仕事をしなければならない存在関わる複数のクラスDEFSと属性がありますが、上記です。
このフォームにはいくつかのエントリがあり、それに似たフォームがありますので、ラベル名を検索して同じコンテナ内の入力フィールドにアクセスする方法を探しています。
私はサイトの管理が不十分で、サイトのHTML構造を編集できません。つまり、IDに分かりやすい名前を付けることはできませんが、貧しい名前を参照することは避けたいと考えています。 Robot Framework &セレンがこれらの要素を参照する方法を教えてください。上記の例のためのXPath
//label[span[text()="Field Name 1"]]/following-sibling::div//input
作品を使用して、コメント
でアンダーソンの答えを強調
チェック 'XPath'です:' //ラベル[スパン[テキスト()= "フィールド名1"]]/following- sibling :: div // input' – Andersson
また、タイプミスも探してください。あなたは "ラベル"の代わりに "lable"を持っています。 – Helio
元気いっぱいの男、@アンダーソン。 –