私はHTMLコードが以下のようなテーブルを持っています。 "Base User"(tr [5]など)を含む行のチェックボックスをクリックします。チェックボックスをクリックできません。私はこの表は、7行、各行のチェックボックスを持っている最初の列を含むSelenium Webdriver java:チェックボックスをクリックしてください
<div class="ui-jqgrid-bdiv" style="height: 340px; width: 440px;">
<div style="position:relative;">
<div></div>
<table id="s_4_l" class="ui-jqgrid-btable" border="0" cellspacing="0" cellpadding="0" tabindex="0" role="grid" aria-multiselectable="true" aria-labelledby="" style="width: 439px;" summary="Responsibilities" datatable="1">
<tbody>
<tr class="jqgfirstrow" style="height:auto" role="row">
<tr id="1" class="ui-widget-content jqgrow ui-row-ltr" tabindex="-1" role="row" style="height: 32px;">
<tr id="2" class="ui-widget-content jqgrow ui-row-ltr" tabindex="-1" role="row" style="height: 32px;">
<tr id="3" class="ui-widget-content jqgrow ui-row-ltr" tabindex="-1" role="row" style="height: 32px;">
<tr id="4" class="ui-widget-content jqgrow ui-row-ltr" tabindex="-1" role="row" style="height: 32px;" aria-selected="false">
<tr id="5" class="ui-widget-content jqgrow ui-row-ltr ui-state-highlight selected-row ui-state-hover" tabindex="-1" role="row" style="height: 32px;" aria-selected="true">
<td aria-describedby="s_4_l_cb" style="text-align:center;display:none;" role="gridcell">
<input id="jqg_s_4_l_5" class="cbox" type="checkbox" role="checkbox">
</td>
<td id="5_s_4_l_SSA_Primary_Field" class="edit-cell ui-state-highlight" title="Unchecked" style="text-align:center;" role="gridcell" aria-labelledby="s_4_l_SSA_Primary_Field s_4_l_altCheckBox" tabindex="0">
<span tabindex="-1">
<input id="5_SSA_Primary_Field" class="customelement siebui-ctrl-checkbox siebui-align-center siebui-input-align-center s_4_2_82_0" type="checkbox" aria-checked="false" value="N" tabindex="0" role="checkbox" name="SSA_Primary_Field" maxlength="1" aria-labelledby="5_s_4_l_Name s_4_l_SSA_Primary_Field s_4_l_altCheckBox">
</span>
</td>
<td id="5_s_4_l_Name" title="Base User" style="text-align:left;" role="gridcell" aria-labelledby="s_4_l_Name">Base User</td>
<td id="5_s_4_l_Organization" title="Canada" style="text-align:left;" role="gridcell" aria-labelledby="s_4_l_Organization">Canada</td>
</tr>
<tr id="6" class="ui-widget-content jqgrow ui-row-ltr" tabindex="-1" role="row" style="height: 32px;">
<td aria-describedby="s_4_l_cb" style="text-align:center;display:none;" role="gridcell">
<td id="6_s_4_l_SSA_Primary_Field" title="Checked" style="text-align:center;" role="gridcell" aria-labelledby="s_4_l_SSA_Primary_Field s_4_l_altCheckBox">
<span class="siebui-icon-checkbox-checked">
<img hspace="0" border="0" space="0" title="Selected" alt="Selected" src="XYZ.com/images/check_d.gif">
</span>
<span style="display:none;">Y</span>
</td>
<td id="6_s_4_l_Name" title="Product Administrator" style="text-align:left;" role="gridcell" aria-labelledby="s_4_l_Name">Product Administrator</td>
<td id="6_s_4_l_Organization" title="Canada" style="text-align:left;" role="gridcell" aria-labelledby="s_4_l_Organization">Canada</td>
</tr>
<tr id="7" class="ui-widget-content jqgrow ui-row-ltr" tabindex="-1" role="row" style="height: 32px;">
</tbody>
</table>
Firefoxブラウザとセレンwebdriverを(ジャワ)を使用しています。指定された時間にCHECK/TICKEDというチェックボックスが1行だけあり、ここでは6行目です。他の行については、チェックボックスは表示されません。行の最初のセルの領域内のどこかをクリックした場合にのみ、その行のチェックボックスが表示されます。次に、そのチェックボックスをオンにします。したがって、私は5行目の最初のセルをクリックし、チェックボックスが表示されます(下のコードを参照)。
5行目のこのチェックボックスをクリックするにはどうすればよいですか? 私のコードは以下の通りです.3行目はチェックボックスをクリックしようとしていますが、クリックしません。
WebElement primaryCell = driver.findElement(By.xpath("/html/body/div[9]/div[2]/div/div/div/div[3]/form/div[1]/div/div/div[3]/div[3]/div/table/tbody/tr/td[contains(text(),'Base User')]/preceding-sibling::td[@title='Unchecked']"));
primaryCell.click();
primaryCell.findElement(By.xpath("//span/input")).click();
ご協力ありがとうございました!
tagnames-table、tr、tdの@idは静的ではなく、変更を続けています。 いくつかの既存の記事で提供されているソリューションを使用しようとしましたが、問題を解決できませんでした。
素晴らしいので、あなたに感謝多くのkrokodilko、私は感謝します。 – Sanjay