selenium2元素定位问题
//定位到iframeWebElementframe=driver.findElement(By.xpath("//[@id='cleverTabPanelItem-14...
//定位到iframe WebElement frame=driver.findElement(By.xpath( "//[@id='cleverTabPanelItem-1466044235224']/iframe" )); driver.switchTo().frame(frame); //定位到添加按钮 driver.findElement(By.xpath("//[@id='queryForm']/tr/td/input[@id='addButton']")).click(); driver.switchTo().defaultContent();这样子定位不到元素。。哪里有问题么,谢谢了
展开
1个回答
展开全部
两xpath都有问题:
先说第一个那个id很明显后面是一个随机数,要是数据变化那个ID肯定不好使的。
再说第二xpath也是应该://form[@id='queryForm']//input[@id='addButton']
建议办法:
我如果猜得没错的话,你这个整个都是一个表单,一个大表单里又有若干小表单cleverTabPanelItem。然后每个cleverTabPanelItem这种元素里其实都有'addButton'这个ID的button. 所以你这个应该写以方法对整个大表单操作,传入行、列值进去,返回单元格WebElement对象,你再想做什么操作就方便了。而不是直接定位点。那下次换个位置不就哭了?
先说第一个那个id很明显后面是一个随机数,要是数据变化那个ID肯定不好使的。
再说第二xpath也是应该://form[@id='queryForm']//input[@id='addButton']
建议办法:
我如果猜得没错的话,你这个整个都是一个表单,一个大表单里又有若干小表单cleverTabPanelItem。然后每个cleverTabPanelItem这种元素里其实都有'addButton'这个ID的button. 所以你这个应该写以方法对整个大表单操作,传入行、列值进去,返回单元格WebElement对象,你再想做什么操作就方便了。而不是直接定位点。那下次换个位置不就哭了?
更多追问追答
追问
追答
//form[@id='queryForm']//input[@id='addButton' and position()=1]
删除第几行position就等于几
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询