使用selenium CSS选择器进行多项操作

时间:2011-08-05 14:22:53

标签: css xpath selenium css-selectors

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

get_xpath_count('//li/a')

问题是我需要获取这些实际链接的名称列表。我尝试过使用xpath,但没有找到太多运气,希望CSS选择器能够提供帮助。我尝试过使用

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

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

1 个答案:

答案 0 :(得分:2)

试试这个(伪代码,因为我像瘟疫一样避免使用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=启动它来说明。