0

以下は2つのチェックボックスのhtmlです。私の意図は、そのラベルを 'XERU'または 'SYM'としてチェックボックスを選択することです。ロボットフレームワークでは、キーワード 'チェックボックスを選択する必要があります'はキー属性を使用します。 IDと名前はロケータとして使用されますが、ここでIDは各ラベルに対して動的です。動的入力ID値のチェックボックスを選択できません

したがって、ID /名前を選択するチェックボックスにはXpathをフレームする必要がありますが、テストスイート内ではハードコードされません。

<input id="ctl00_PageBody_chklistVirtualAddressingGroups_5" name="ctl00$PageBody$chklistVirtualAddressingGroups$5" type="checkbox"/> 
<label for="ctl00_PageBody_chklistVirtualAddressingGroups_5">XERU</label> 
<br/> 
<input id="ctl00_PageBody_chklistVirtualAddressingGroups_6" name="ctl00$PageBody$chklistVirtualAddressingGroups$6" type="checkbox"/> 
<label for="ctl00_PageBody_chklistVirtualAddressingGroups_6">SYM</label> 
<br/> 

答えて

1

次のコードを試すことができます。このコードは、あなたが提供したHTMLに基づいています。詳細情報を提供してください。

driver.findElement(By.xpath("//label[contains(text(), 'XERU')]")).click(); 
driver.findElement(By.xpath("//label[contains(text(), 'SYM')]")).click(); 
+0

私はロボットのフレームワークを使用して実行しています、あなたの答えは、セレン@Maninder上で動作します。 –

+0

この回答があなたの問題を解決した場合、それを「受け入れる」とマークしてください.MuddesirAhmed – Goralight

0

私はこれらの線に沿って何かを試してみた:

Wait Until Keyword Succeeds 4 sec 1 sec Click Element xpath=//label[contains(text(), 'XERU')] 
Wait Until Keyword Succeeds 4 sec 1 sec Click Element xpath=//label[contains(text(), 'SYM')] 

をこれに失敗した場合、あなたは私たちに問題がある理由として、より詳細な情報を与えることができますか?

+0

これは、単に必要な要素のIDを見つけるための初期段階をやっていないのですから、そこからチェックボックスキーワードを使用しますか?おそらくもう少し安定して維持可能な – shicky

0

使用のXPathとして -

(//label[text()='XERU']/preceding::input)[last()] 
(//label[text()='SYM']/preceding::input)[last()] 
関連する問題