首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能使用xpath / selenium IDE选择同一类的第n个元素

不能使用xpath / selenium IDE选择同一类的第n个元素
EN

Stack Overflow用户
提问于 2018-10-13 18:19:09
回答 1查看 653关注 0票数 1

不明白为什么下面的循环不能工作,除非具有相同类的第n个元素在第二个元素上失败(我认为第一个元素可以工作,因为它也是xpath中的根):

代码语言:javascript
复制
{
  "Command": "storeEval",
  "Target": "$('.className').length",
  "Value": "max"
},
{
  "Command": "store",
  "Target": "1",
  "Value": "i"
},
{
  "Command": "while",
  "Target": "(${i} < ${max})",
  "Value": ""
},
{
  "Command": "echo",
  "Target": "Current value of i = ${i}",
  "Value": "i"
},
{
  "Command": "storeAttribute",
  "Target": "//a[contains(@class, 'className')][${i}]@href",
  "Value": "link"
},
{
  "Command": "endWhile",
  "Target": "",
  "Value": ""
}

为了进行调试,我尝试将...[${i}]更改为[2],但它在Kantu & Ranorex中都失败了。但是,从我阅读的xpath / Selenium IDE文档来看,这个语法应该是正确的。有什么建议吗?

PS。作为参考,.className实际上是页面date&time=week上的.rf-project-cover__title

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-14 01:51:03

我认为您需要搜索,然后提取i-th项,因此需要括号:

代码语言:javascript
复制
(//a[contains(@class, 'className')])[${i}]

例如:

代码语言:javascript
复制
(//a[contains(@class, 'rf-project-cover__title')])[2]

返回带有链接文本my portfolio的项

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52795935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档