Selenium WebDriver - 使用 findElements 选择网络元素(By.xpath

Selenium WebDriver - Selecting webelements with findElements(By.xpath

我有一个网页,我必须从网页元素中提取一堆名称。我的想法是首先使用 "findElements(By.xpath..." 提取所有这些元素,如下所示:

List<WebElement> someElements = driver.findElements(By.xpath("XPATH???"));

所有这些元素都具有这样的 xPath 模式:

/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[1]/div[1]/h2/a
/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[2]/div[1]/h2/a
/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[3]/div[1]/h2/a
/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[4]/div[1]/h2/a
/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[5]/div[1]/h2/a

如您所见,唯一的变化是倒数第二个 div 正在发生变化。 我的问题是如何编写这行代码来填充网络元素列表,进入 By.xPath()?

的内容

非常感谢!

List<WebElement> divs = driver.findElements(By.xpath("/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div"))

修改代码部分如下-

List<WebElement> someElements = driver.findElements(By.xpath("/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div/div[1]/h2/a"));

我不完全确定你在这里想要达到什么目的。

如果你想要所有的 div:

List<WebElement> someElements = driver.findElements(By.xpath("/html/body/div[1]/div/div/div/div[1]/div[6]/div[*]/div[1]/h2/a"));

如果没有,请向我提供您尝试获取的实际元素的示例。