自动点击与Selenium的JavaScript链接

时间:2013-03-22 13:42:23

标签: dom xpath selenium automation selenium-ide

我正在尝试自动点击在网页上异步运行的数据库的第2页。使用Xpath时:

//id('standardView')/x:div[3]/x:div[3]/x:a[1]

我收到以下错误:

[error] Invalid xpath [2]: //id('rightMenu')/x:div[3]/x:div[3]/x:a[1]

所以我尝试使用DOM来查找它的路径,下面的代码显示了使用Firebug运行时推送的实际链接......

   main = document.getElementById("rightMenu"); mainCont = main.contentDocument;
   paging = mainCont.getElementsByTagName("a"); pageTwo = paging[0];

Firebug将显示:

<a href="javascript:chgPage(2);">

但是Selenium抛出了这个错误:

[error] Unexpected Exception: fileName -> chrome://selenium-ide/content/selenium-
core/scripts/selenium-api.js, lineNumber -> 2535, columnNumber -> 45

并且只是简单地记录动作并没有发现按钮被按下了。我似乎无法找到解决方案。有什么见解,我的朋友们?

1 个答案:

答案 0 :(得分:2)

有点奇怪的xpath。尝试使用//*[@id='standardView']/div[3]/div[3]/a[1]

但是尝试使用没有索引且尽可能短的选择器

//a[@href='javascript:chgPage(2);']

//*[@id='standardView']//a[@href='javascript:chgPage(2);']

这些也可以正常工作(如果它们是唯一的,请使用firepath插件检查萤火虫)