1

我想单击子菜单中的删除。

我尝试了下面的代码,但没有任何反应。

wd_handle.execute_script("document.getElementById('optionPanel').hidden=false;")
mouse.move_to_element(OptionPanel).perform()
WebDriverWait(wd_handle,10)
wd_handle.find_element_by_partial_link_text('Delete').click()

HTML 源代码:

<div id="optionPanel" style="height: auto; width: auto; left: 126px; top: 368px; display: none; overflow-y: hidden;">'
 <div class="wrapper">
  <ul aria-hidden="false" role="menu">
   <li role="menuitem">
   <li role="menuitem">
   <li class="divider" role="menuitem">
    <a class="optionPanelLink" tabindex="0" 
    href="#playlistManager/action=delete/selected=701f55af-c5f0-4f31-b34f-964f52be5fef/idx=0">
    Delete</a>
   </li>
  </ul>
 </div>
</div>

我必须单击 id = 7ba9b231-5fc4-448b-b41a-f236437c182cCount 的元素才能使上述元素可见。

<li class="playlist viewing"> 
<a id="7ba9b231-5fc4-448b-b41a-f236437c182cLink" class="ellipsis" title="TestList2" href="#playList/name=TestList2/list=7ba9b231-5fc4-448b-b41a-f236437c182c">TestList2</a> 
<span class="entryCount">0</span> 
<a id="7ba9b231-5fc4-448b-b41a-f236437c182cCount" class="customPlaylistSpriteLocation optionSprite" href="#option/playlist=TestList2/selected=7ba9b231-5fc4-448b-b41a-f236437c182c/idx=0"></a> 
</li> 
4

4 回答 4

5

您可以使用 xpath 单击隐藏的菜单项

import org.openqa.selenium.interactions.Actions;
   Actions builder = new Actions(driver); 
   builder.moveToElement(driver.findElement(By.xpath("Enter Menu here"))).build().perform();
  builder.moveToElement(driver.findElement(By.xpath("Enter Target here"))).build().perform();
  driver.findElement(By.xpath("Enter Target here")).click()

希望这是代码

于 2014-12-29T07:28:44.007 回答
0

代替:

wd_handle.execute_script("document.getElementById('optionPanel').hidden=false;")

和:

wd_handle.execute_script("document.getElementById('optionPanel').style.display='block';")

如果它不起作用,请尝试同时使用它们(一个接一个)...

于 2014-02-07T09:47:50.553 回答
0

你确定你的find_element_by_partial_link_text('Delete')作品并返回一个元素吗?

如果它真的不起作用,我建议使用 cssSelector 像:"li.divider a"

告诉我怎么了。

于 2013-05-03T07:44:39.960 回答
-1

首先检查您的子菜单项,其中删除按钮突出显示......通过使用悬停。并将其作为参考 wrt id,您可以单击删除按钮......这是一个代码

WebElement wb=driver.findElement(By.xpath("//li[@datapostid='52f377a10a1de86e33f9bc90']/div"));
        Actions act=new Actions(driver);
        act.moveToElement(wb);
        act.perform();
        driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
        wb.findElement(By.cssSelector("span.commdelete")).click();
于 2014-02-07T09:42:53.520 回答