-2
<br>
<input id="workedWithGR" type="radio" onclick="showDiv('hiddenInput');" value="yes" checked="" name="workedWithGR" style="border:none;">

<label>Yes</label>

<input id="workedWithGR" type="radio" onclick="hideDiv('hiddenInput');" value="no" name="workedWithGR" style="border:0px;">

はいボタンといいえボタンの場合、「Webdriverの要素が見つかりません」というエラーが表示され続けます。IDに引用符があるため、xpathを実行できません。

4

2 に答える 2

2

代わりにタグ「値」を使用するか、子ノード「ラベル」を使用してから、再帰的にツリーを上って正しい要素を選択します。たとえば、htmlに次のものが含まれていると想定しています。

<br>
  <input id="workedWithGR" type="radio" onclick="showDiv('hiddenInput');" value="yes" checked="" name="workedWithGR" style="border:none;">
    <label>Yes</label>
  <input id="workedWithGR" type="radio" onclick="hideDiv('hiddenInput');" value="no" name="workedWithGR" style="border:0px;">
    <label>No</label>

したがって、次のようにノード ラベルをキーイングしてみてください。

//input[@id=\"workedWithGR\"]/label[text()="Yes"]/../input
于 2013-03-19T21:59:36.987 に答える
0

私は無線入力にこのアプローチを使用します。複数の入力要素を探す必要がないようにし、同じ名前を持つ可変数のラジオ ボタンで動作します。

String valueToSelect = "no";
List<WebElement> radios = driver.findElement(By.name("workedWithGR"));
if (radios.size() == null)
    return ;

for (WebElement radio : radios){
    if (radio.getAttribute("value").equals(valueToSelect)){
        radio.click();
        break;
    }
}
于 2013-03-20T11:36:11.600 に答える