css - 将 selenium CSS 选择器用于多项操作

标签 css xpath selenium css-selectors

如果重要的话,这在 Perl 中。我有几个折叠和展开的链接列表。我知道有多少来自使用

get_xpath_count('//li/a')

问题是我需要获得这些实际链接名称的列表。我试过使用 xpath,但运气不佳,希望 CSS 选择器能够提供帮助。我试过使用

get_text('css=li a:nth-child('.$i.')'

打印出链接旁边的 [-] 图标,即列表中最顶部的链接,然后是超出范围的错误。我根本不熟悉 CSS 选择器,所以任何帮助都会很棒。如果我遗漏了重要信息,请告诉我,

最佳答案

试试这个(用伪代码,因为我像躲避瘟疫一样避开 Perl):

list linkNames;
count = selenium.get_xpath_count('//li/a');
for (i = 1; i <= count; i++) {
   list.append(selenium.get_text('xpath=(//li/a)[' + i +']');
}

注意:

  • XPath 表达式从 1 到 n,而不是像大多数 C 派生语言那样从 0 到 n-1。
  • 用于选择模式的第 i 个匹配项的 XPath 形式是 (pattern)[i],而不是 pattern[i]
  • Selenium 不假定 (pattern)[i] 定位器是 XPath,因此您需要以 xpath= 开头来说明这一点。

关于css - 将 selenium CSS 选择器用于多项操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6957845/

相关文章:

xml - 根据属性比较2个节点集

xml - xmllint是否支持xpath 2.0;如果是这样如何使用运算符?

java - 使用 Selenium webdriver Java 定位具有不清楚 Id 类的元素

python - 如何使用 Selenium Webdriver (Python) 在上下文菜单中选择 "save image as..."来保存图像

javascript - YUI 按钮的 JQuery 等价物是什么?

CSS:固定布局还是 float 布局?

xpath - 在文本字符串中使用括号会使 xpath 失败

java - 自定义运行通知程序

html - Bootstrap 中响应式拆分背景颜色

CSS 列重叠/溢出