击穿xpath

时间:2010-06-11 17:31:34

标签: xpath selenium

我在看网站。试图将selenium html转移到junit但无法让它工作,因为它一直说Error:Element not found。也许是语法错误,因为我能够将它分解为firebug中的最短路径,但仍然无法编译。在这种情况下你做了什么?

注册

我使用firebug Xpath获取上述链接的值 / HTML /体/格[@ ID = 'contentDisplayPane'] /格[@ ID = 'mainDiv'] /格[@ ID = 'mainDivContent'] /格[@ ID = 'simpleBox'] /表/ TBODY / TR [2] / TD [@ ID = 'fb_PageContent'] /表/ tbody的/ TR / TD /表/ tbody的/ TR / TD [4] / A

使用firebug xpath,我能够将其分解为此并且能够访问Enrollment链接。但是当我把它放在junit测试用例中时selenium.click((“// div [@ id ='simpleBox' ] /表/ tbody的/ TR [2] / TD [@ ID = 'fb_PageContent'] /表/ tbody的/ TR / TD /表/ tbody的/ TR / TD [4] / A“); 我得到错误:元素// div [@ id ='simpleBox'] / table / tbody / tr [2] / td [@ id ='fb_PageContent'] / table / tbody / tr / td / table / tbody / tr / td [4] / a“)未找到

感谢任何帮助或提示

2 个答案:

答案 0 :(得分:1)

嘿如果您想点击网页上的任何链接。 你必须首先找到这个元素/文本的Xpath,为此你可以使用Firebug.So这里一个ex:你可以在IDE中使用selenium.click(// a [text()=“ON”])并将其转换为junit并得到这个 selenium.click( “//一个[文本()= \” HereYouCanPutYourText \ “]”);

如果您有任何疑虑,请随时...

答案 1 :(得分:0)

tbody元素实际上是在html中还是只是被Firefox插入?如果Firefox正在插入tbody并且您的junit测试正在驱动另一个浏览器,则tbody可能不在那里。只是在黑暗中拍摄,因为你没有发布你正在测试的文档,但也许它会有所帮助。