8

これはUIコードの一部です

<select id="order_unit_line_rate_806782_is_addenda_enabled" class="selects_for_487886" onchange="select_addendum(806782, this);dateShowMemory(this.options[this.selectedIndex].value, '806782');" uniqueattr="Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / drop down" name="order_unit_line_rate[806782][is_addenda_enabled]">
     <option value="0" uniqueattr="Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / Fee">                     Fee                   </option>
     <option value="1" uniqueattr="Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / See Attached Addendum">                     See Attached Addendum                   </option>
</select>

タグは<option>タグ内にネストされています<select>。ドロップダウン リストの項目であるclick()2 番目の要素が必要です。id / uniqueattr を使用してタグを使用<option>しようとすると、ドロップダウンがクリック可能になります。click()<select>

<option>ネストされたタグをたどっ<select>て正しいアイテムをクリックするにはどうすればよいですか?

4

2 に答える 2

10

正しいQwerkyの答えに加えて、簡単なこともできます

driver.findElement(By.xpath("//select/option[@value='1']")).click();

optionこれにより、要素が検索されvalue='1'てクリックされ、実際にはドロップダウンで選択されます。

私のソリューションとQwerkyのソリューションの両方が、ここのドキュメントで説明されています

于 2012-07-05T12:20:07.347 に答える
6

これにより、ID「order_unit_line_rate_806782_is_addenda_enabled」の選択で値「1」のオプションが選択されます。

Select select = (Select)webdriver.findElement(By.id("your id here"));
select.selectByValue("1");

インデックスまたはテキストで選択することもできます。ドキュメントを参照してください

于 2012-07-05T11:15:17.223 に答える