点击隐藏元素Selenium webdriver(javascript)

时间:2015-10-09 18:38:58

标签: javascript selenium selenium-webdriver

<tr id="mytr">
   <td id="Table" onmouseover="this.className='menulevel1hl';" onmouseout="this.className='menulevel1norm'" class="menulevel1norm" onclick="PopupWin('Left',divMenu2011,this,'.menuitempopuprownormal','.menuitempopuprowhighlight','','.menuitempopupscroll' &nbsp;Alerts&nbsp </td>
      <div id=" divMenu2011 " name="actiondiv " style="visibility:hidden;position:absolute;border: ">
      <DIV  myonclick="window.parent.location.href='/smcfs/console/exception.search' ; "> Alert Search</DIV>
      </div>
   <td id="Table " onmouseover="this.className='menulevel1hl' ; " onmouseout="this.className='menulevel1norm' "  class="menulevel1norm " onclick="PopupWin( 'Left',divMenu2012,this, '.menuitempopuprownormal', '.menuitempopuprowhighlight', '', '.menuitempopupscroll'); "> &nbsp;Inventory&nbsp;</td>
   <div id="divMenu2012 " name="actiondiv " style="visibility:hidden;position:absolute;border: ">
      <DIV  myonclick="window.parent.location.href='/smcfs/console/inventoryaudit.search' ; ">  Inventory Audits</DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/inventory.detail?CurrentDetailViewID=YIMD080' ; "> Adjust Inventory</DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/itemsupsearch.search' ; "> Item Suppression Console</DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/additemsuppression.detail?CurrentDetailViewID=TGTOMSSCFD008' ; "> Add Item Suppression</DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/ProtectItem.detail?CurrentDetailViewID=TGTPID001' ; "> Add Protected Qty</DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/ProtectItem.search' ; "> Protected Qty Console   </DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/ProtectItemAudit.search' ; ">    Protected Qty Audit Console </DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/MCAFeeds.detail?CurrentDetailViewID=A001' ; ">   Upload MCA Store Feed </DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/MCAFeeds.detail?CurrentDetailViewID=A002' ; "> Upload MCA Item Feed </DIV>
   </div>
   <td id="Table " onmouseover="this.className='menulevel1hl' ; " onmouseout="this.className='menulevel1norm' "  class="menulevel1norm " onclick="PopupWin( 'Left',divMenu2013,this, '.menuitempopuprownormal', '.menuitempopuprowhighlight', '', '.menuitempopupscroll'); "> &nbsp;RTAM Exclusion&nbsp; </td>
   <div id="divMenu201404150720371518959 " name="actiondiv " style="visibility:hidden;position:absolute;border: ">
      <DIV  myonclick="window.parent.location.href='/smcfs/console/Exclusion.detail?CurrentDetailViewID=D002' ; ">  RTAM Exclusion  </DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/Exclusion.detail?CurrentDetailViewID=001' ; "> Start RTAM Exclusion  </DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/Exclusion.detail?CurrentDetailViewID=D004' ; "> Remove  Excluded Items </DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/Exclusion.detail?CurrentDetailViewID=D003' ; ">  Enter  Exclusion Removal </DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/Exclusion.detail?CurrentDetailViewID=D009' ; "> Schedule RTAMExclusion   </DIV>
   </div>
   <td id="Table " onmouseover="this.className='menulevel1hl' ; " onmouseout="this.className='menulevel1norm' "  class="menulevel1norm " onclick="PopupWin( 'Left',divMenu2014,this, '.menuitempopuprownormal', '.menuitempopuprowhighlight', '', '.menuitempopupscroll'); ">     &nbsp;Sales Order&nbsp;   </td>
   <div id="divMenu2014 " name="actiondiv " style="visibility:hidden;position:absolute;border: ">
      <DIV  myonclick="window.parent.location.href='/smcfs/console/order.search' ; "> Sales Order Console   </DIV>
      <DIV  myonclick="window.parent.location.href='/smcfs/console/shipment.search' ; "> Outbound Shipment Console</DIV>
   </div>

我正在尝试点击Ship Order Console。请找到以下代码

WebElement ele1 = driver.findElement(By.xpath("//tr[@id='mytr']/td[4]"));
ele1.click();
WebElement ele = driver.findElement(By.xpath("//div[@id='divMenu2014']/div[1]"));
String js = "arguments[0].style.height='auto'; arguments[0].style.visibility='visible';";
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript(js, ele); 
System.out.println("element is " + ele.getText());
ele.click();

当我打印ele.gettext()时,我正在获取“销售订单控制台”,但当我尝试点击它时,它正在转移到库存标签页。

任何人都可以指出哪里出错了吗?

1 个答案:

答案 0 :(得分:1)

选中此链接以将属性设置为web元素, How to use javascript to set attribute of selected web element using selenium Webdriver using java?

或者,您可以使用Javascript单击而不使其可见。我已经为你的元素使用了CSS选择器。

executor.executeScript("$(\"div#divMenu2014>div\").click();");