繁体   English   中英

单击隐藏元素 Selenium webdriver(javascript)

[英]Click on hidden element Selenium webdriver(javascript)

<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>

我正在尝试单击发货订单控制台。 请找到下面的代码

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() ,我得到了“销售订单控制台”,但是当我试图点击它时,它正在移动到库存选项卡。

任何人都可以指出它出错的地方吗?

检查此链接以将属性设置为 web 元素, 如何使用 javascript 使用 selenium Webdriver 使用 java 设置所选 web 元素的属性?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM