如果重要的话,这在 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/