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();这样子定位不到元素。。哪里有问题么,谢谢了 展开
 我来答
xch924
2016-06-19 · TA获得超过1271个赞
知道小有建树答主
回答量:296
采纳率:100%
帮助的人:219万
展开全部
两xpath都有问题:
先说第一个那个id很明显后面是一个随机数,要是数据变化那个ID肯定不好使的。
再说第二xpath也是应该://form[@id='queryForm']//input[@id='addButton']
建议办法:
我如果猜得没错的话,你这个整个都是一个表单,一个大表单里又有若干小表单cleverTabPanelItem。然后每个cleverTabPanelItem这种元素里其实都有'addButton'这个ID的button. 所以你这个应该写以方法对整个大表单操作,传入行、列值进去,返回单元格WebElement对象,你再想做什么操作就方便了。而不是直接定位点。那下次换个位置不就哭了?
更多追问追答
追问

这是实际界面,您说的方法不太会写额,只是现在把上诉iframe的xpath改为//*[@id='tabs']/div[1]/div[1]/iframe,把添加按钮的路径改为//form[@id='queryForm']//input[@id='addButton']

运行程序后iframe可以进去了,但是addButton还是报no such element。这样是什么情况?

追答
//form[@id='queryForm']//input[@id='addButton' and position()=1]

删除第几行position就等于几
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式