bob190314 发表于 2015-6-2 14:08:06

selenium webdriver如何定位页面菜单项

<!--菜单 -->
    <div class="head_memu" id="head_menu">
   
      <div class="head_menu_left tag" id="head_menu">
            <div id="tagLeft0" class="ctrl goLeft">向左</div>
            <div id="tagScroll0" class="tagScorll">
                <div style="width:2000px; height:33px;position:relative; overflow:hidden">
                  <ul class="ctrlList" id="rollBox0">
                        <li class="menu_click_style"><a href="javascript:linkToLeft('/TBPWeb/tbp/page/imain/left.jsp');linkToRight('/TBPWeb/tbp/tableViewAction.do?method=load&viewname=customTableView&sys_tv_key=viewid&sys_tv_value=MessageDefault');changeIndexWidth();">首页</a></li>
                        <!--
                        <li class="menu_click_style"><a href="javascript:linkToLeft('/TBPWeb/tbp/page/imain/left.jsp');linkToRight('/TBPWeb/tbp/common/portal/action/PortalAction.do?method=initPortal');changeIndexWidth();">首页</a></li>
                        -->
                        
                            <li class="head_menu_list" ><a href="javascript:linkToLeft('/TBPWeb/tbp/left.do?menuID=100&login=');changeWidth();">用户管理</a></li>
                        
                            <li class="head_menu_list" ><a href="javascript:linkToLeft('/TBPWeb/tbp/left.do?menuID=434&login=');changeWidth();">系统管理</a></li>
                        
                  </ul>
                </div>
            </div>
            <div id="tagRight0" class="ctrl goRight">向右</div>


通过上面js代码 selenium webdriver如何定位“系统管理”这个菜单

wuranxu 发表于 2015-6-2 15:18:01

xpath=//li
试试,其实也可以先定位<ul class="ctrlList" id="rollBox0">再根据绝对路径写

bob190314 发表于 2015-6-2 15:52:25

wuranxu 发表于 2015-6-2 15:18
xpath=//li
试试,其实也可以先定位再根据绝对路径写

第一个方法还是读取不到界面功能菜单“系统管理”。
第二个方法代码怎么写的,因为是初学者,所以代码这块很差

bob190314 发表于 2015-6-3 09:40:27

请懂的大神帮忙看下为什么我用下面几种方法都没办法定位到“用户管理”这个菜单项
第一种:driver.findElement(By.linkText("用户管理")).click();
第二种:driver.findElement(By.xpath("//div[[@class='head_menu']/div[@class='head_menu_left']/div[@class='tagScorll']/u1[@class='ctrlList']/li[@class='head_menu_list']]")).click();

joykao 发表于 2015-6-5 13:38:19

先打开它的上层元素,等它出现再点击它

喵的啦啦 发表于 2015-8-9 14:32:36

逐层打开菜单, 还要加个等待

yuxiwa 发表于 2016-5-18 20:53:37

楼主,请问你这个问题解决没,我也遇到同样问题

ouyanggengcheng 发表于 2016-5-19 11:57:02

遇到同样问题,定位不到菜单

lbs 发表于 2016-6-1 13:58:59

this.xtgl = driver.findElement(By.xpath("//*[@id='rollBox0']/li/a"));//系统管理

lbs 发表于 2016-6-1 14:00:36

this.sy = driver.findElement(By.xpath("//*[@id='rollBox0']/li/a"));//系统管理
this.yhgl = driver.findElement(By.xpath("//*[@id='rollBox0']/li/a"));//用户管理
this.xtgl = driver.findElement(By.xpath("//*[@id='rollBox0']/li/a"));//系统管理

lbs 发表于 2016-6-1 14:01:05

this.sy = driver.findElement(By.xpath("//*[@id='rollBox0']/li/a"));//首页
this.yhgl = driver.findElement(By.xpath("//*[@id='rollBox0']/li/a"));//用户管理
this.xtgl = driver.findElement(By.xpath("//*[@id='rollBox0']/li/a"));//系统管理
页: [1]
查看完整版本: selenium webdriver如何定位页面菜单项