1

ドロップダウン ボックスから値を選択する必要がありますが、値を選択するにはマウス オーバーしてポップアップを開く必要があります。

sendKeys("Body > Abdomen") を使用しています。ドロップダウン ボックスから値を選択する正しい方法を教えてください

2 番目のドロップダウン ボックスの HTML コードに従います。

<div id="bodypart_box_1">
<div style="position:absolute;left:185px;z-index: 20">
<ul class="parent">
<li>
<div id="main" class="mailval">events=Object { click=[1]}handle=function()
<input id="bodypart_1" class="bodypart error" type="text"  
onfocus="if($(this).hasClass('disabled')){$(this).blur();}" readonly="readonly"  
value="Select One" name="bodypart_1" title="">
<input id="actualBodypart_1" type="hidden" value="" name="actualBodypart_1">
</div>
<ul id="bodyPartList_1" class="top sub bodyPartList" style="display:   
block;">olddisplay="block"
<li class="">

<div class="mailval fly" title="Body" originaltitle="Body">Body</div>events=Object {   
click=[1], mouseover=[1]}handle=function()
<ul style="display: block;">olddisplay="block"
<li class="">

<div class="mailval " title="Body > Abdomen" originaltitle="Body > 
Abdomen">Abdomen</div>events=Object { click=[1], mouseover=[1]}handle=function()
</li>
<li class="">
4

3 に答える 3

0

簡単な答えは、次のようなことです。

  1. select コンテナを含む div をクリックして、 Element.click() を使用してコンテナを開きます。
  2. 次に、選択した「オプション」要素をリストとして取得し、el.getText() または el.getAttribute("id") などを使用して一致する文字列が見つかるまで繰り返します。

Etsy の動的検索を例として示す私のEtsy 検索サンプル プロジェクトで、これと同様のことを行います。

于 2013-11-05T16:54:18.547 に答える
0

基本的に、最初にマウスを「メニュー項目」ドロップダウンに移動し、次にマウスを選択したいオプションに移動してからオプションをクリックする必要があります。

Ruby の場合、以下は 1 行のコードです。

driver.action.movet_to(el1).movet_to(el2).click.perform

Javaについてはわかりませんが、上記のロジックを適用できます。次のJavaコードを試してみました。動作するかどうかを確認するか、必要に応じて変更してください。

WebElement element1 = driver.findElement(By.linkText("Manage Channels")); 
WebElement element2 = driver.findElement(By.xpath("//li/a[contains(., \"Manage Channels\")]"))

Actions action = new Actions(driver);    
action.moveToElement(element1).moveToElement(element2).click().build().perform();
于 2013-11-08T13:28:41.830 に答える