我正在尝试自动单击在网页上异步运行的数据库的第 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
只是简单地记录 Action 并没有发现按钮被按下。我似乎找不到解决方法。 friend 们有什么见解吗?
最佳答案
有点奇怪的 xpath。尝试使用 //*[@id='standardView']/div[3]/div[3]/a[1]
但尝试使用没有索引且尽可能短的选择器
//a[@href='javascript:chgPage(2);']
或
//*[@id='standardView']//a[@href='javascript:chgPage(2);']
这些也可以工作(如果它们是唯一的,请使用 firebug 的 firepath 插件检查)
关于dom - 使用 Selenium 自动点击 JavaScript 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15571844/