我目前正在尝试首先执行get_xpath_count,然后创建一个递增索引变量的循环,然后我将注入到原始xpath中以选择第n个结果......毫无疑问非常尴尬。
是否有一些简单,直接,优雅的方法直接迭代xpath结果?
谢谢!
答案 0 :(得分:1)
您的方法可能是实现目标的最简单方法,但在Selenium 2(WebDriver)中稍微优雅一些。 Java中的一个例子如下:
List<WebElement> links = driver.findElements(By.xpath("//a"));
for (WebElement link : links) {
System.out.println(link.getText());
}
这会将页面上每个链接的链接文本输出到控制台。
答案 1 :(得分:0)
我们使用相同的方法。 :)
所以,如果有更好的解决方案,那么我也希望看到它......但我认为没有。
唉,如果你对这些东西评论得足够好,那就不那么糟......:)
答案 2 :(得分:0)
我正在做的是在c#中使用HtmlAgility包并读入完整的源代码并应用xpath,然后返回一个nodelist
我可以过滤掉。如果需要,您甚至可以尝试使用linq。
我很欣赏我正在回避硒,但当时很方便。