java - Selenium 网络驱动程序 : How to navigate to child div and move foucs over specific div

标签 java selenium

当前在导航到许多 div 标签时面临问题。 在我的应用程序中,我有一个网格,可以在多个 div 标签中填充或加载数据。

鼠标悬停时,我必须单击添加评论选项,该选项会作为灯箱弹出窗口加载。

请指导我如何选择添加评论选项。

 <div ng-cell="">
<div class="inCell ng-scope">
<div class="cellDarkGray" ng2-class="{cellDarkGray: (row.getProperty('returnedRecordsNumber') != '0'),cellDarkGray: (row.getProperty('activityid') != '0'),cellDarkGray: (row.getProperty('returnedRecordsNumber') != '0')}">
<div class="cellOrange" ng-class="{cellRed: (row.getProperty('Impact') == '0'),cellOrange: (row.getProperty('activityid') != '0'), cellBlue: (row.getProperty('Impact') == '2')}"/>
<div class="cellWhite">
<div style="height:60px">
<div class="ng-hide" ng-show="(row.getProperty('commentFlag')== true) && (userRole =='ROLE_2') ">
<div class="ng-hide" ng-show="(row.getProperty('commentFlag')== true) && (userRole =='ROLE_1') ">
</div>
<div class="inCellData">
<div class="line1" ng-click="openDetails(row,'viewDetail')">
<span class="title1 ng-binding" ng-hide="row.getProperty('planned_typ')== 'NULL'">ORANGE PLANNED MAINTENANCE - </span>
<span class="title2 ng-binding" ng-hide="row.getProperty('deviceid')== 'NULL'">  BLCY810</span>
<!-- <span ng-hide="row.getProperty('myRouterName')== ''"> ||{{row.getProperty('myRouterName')}} ||</span> -->
</div>
<div class="line2">
<span class="title3"/>
<span class="ng-binding" ng-hide="row.getProperty('service_impact')== ''"> 1 - 5 MINS ||</span>
<span class="title3 ng-binding">09/JUN/2017 01:30:00 AM</span>
up to
<span class="title2 ng-binding">09/JUN/2017 03:30:00 AM</span>
|| 
<span class="ng-binding">EQUANT SHARED NETWORK</span>
</div>
<div class="line3">
</div>
<div>
<nav id="cbp-spmenu-s1" class="cbp-spmenu cbp-spmenu-vertical cbp-spmenu-left cbp-spmenu-open">
<a ng-click="openDetails(row,'viewDetail')">view details</a>
<div class="" ng-show="userRole =='ROLE_1'">
<a class="" ng-show="row.getProperty('internalFlag')=='Y'" ng-click="setUnsetInternal(row)">invisible to customer</a>
<a class="ng-hide" ng-show="row.getProperty('internalFlag')=='Z'" ng-click="row.getProperty('sourcesystem')=='Carrier Changes' && (row.getProperty('urgency')=='EMERGENCY' || row.getProperty('urgency')=='EXPEDITE') ? alertPastDataZEmergency() : alertPastDataZ() ">invisible to customer</a>
<a class="ng-hide" ng-show="row.getProperty('internalFlag')=='N'" ng-click="setUnsetInternal(row)">visible to customer</a>
<a class="ng-hide" ng-show="row.getProperty('internalFlag')=='X' || row.getProperty('internalFlag')=='H'" ng-click="alertPastDataX()">visible to customer</a>
</div>
<!-- Prod Consol Start -->
<a ng-show="userRole =='ROLE_1'" ng-click="openDetails(row, 'comment')">add a comment</a>
<!-- Prod Consol End -->
</nav>
</div>
</div>
</div>

最佳答案

首先,您必须使用 Action 类将鼠标移动到元素,以便评论链接可见。然后您必须对该元素执行操作。

你可以这样做 -

WebElement elem = driver.findElement(By.xpath("//a[contains(text(), 'add a comment')]"));

Actions action = new Actions(driver);
action.moveToElement(elem).click().build().perform();

希望这有帮助。

关于java - Selenium 网络驱动程序 : How to navigate to child div and move foucs over specific div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44410740/

相关文章:

java - 打开弹出窗口后程序卡住了

ruby - 用 ruby​​ 中的 selenium 遍历所有表单字段

python - 自动化浏览器操作 - 单击提交按钮错误 - "Click succeeded but Load Failed. .."

java - 可以将日期转换为长但长太大?

java - 如何在 Hibernate 中创建 INSERT IGNORE 查询?

java - java.home 和 JAVA_HOME 的区别

python - 使用 Mechanize for python,需要可以右键

python - 即使启用了ignoreProtect模式设置,Internet Explorer也未使用selenium启动

java - PHONE_STATE 接收器无法与基于上下文的接收器一起使用

java - 如何将前缀属性注入(inject)java.util.Properties?